国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 應用 > 軟件技巧 > 正文

一種利用Windows未公開函數實現機器上所做的各種操作

2024-07-16 17:45:14
字體:
來源:轉載
供稿:網友
這里介紹一種利用Windows未公開函數實現這個功能的方法。

  在Windows下有一個未公開函數SHChangeNotifyRegister可以把你的窗口添加到系統的系統消息監視鏈中,該函數在Delphi中的定義如下:

  Function SHChangeNotifyRegister(hWnd,uFlags,dwEventID,uMSG,cItems:LongWord;
  lpps:PIDLSTRUCT):integer;stdcall;external 'Shell32.dll ' index 2;

  其中參數hWnd定義了監視系統操作的窗口得句柄,參數uFlags dwEventID定義監視操作參數,參數uMsg定義操作消息,參數cItems定義附加參數,參數lpps指定一個PIDLSTRUCT結構,該結構指定監視的目錄。

  當函數調用成功之后,函數會返回一個監視操作句柄,同時系統就會將hWnd指定的窗口加入到操作監視鏈中,當有文件操作發生時,系統會向hWnd發送uMsg指定的消息,我們只要在程序中加入該消息的處理函數就可以實現對系統操作的監視了。

  如果要退出程序監視,就要調用另外一個未公開得函數SHChangeNotifyDeregister來取消程序監視。

  下面是使用Delphi編寫的具體程序實現范例,首先建立一個新的工程文件,然后在Form1中加入一個Button控件和一個Memo控件,

  程序的代碼如下:

程序代碼

復制代碼代碼如下:
  unit Unit1;
  interface
  uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,shlobj,Activex;
  const
  SHCNE_RENAMEITEM = $1;
  SHCNE_Create = $2;
  SHCNE_Delete = $4;
  SHCNE_MKDIR = $8;
  SHCNE_RMDIR = $10;
  SHCNE_MEDIAInsertED = $20;
  SHCNE_MEDIAREMOVED = $40;
  SHCNE_DRIVEREMOVED = $80;
  SHCNE_DRIVEADD = $100;
  SHCNE_NETSHARE = $200;
  SHCNE_NETUNSHARE = $400;
  SHCNE_ATTRIBUTES = $800;
  SHCNE_UpdateDIR = $1000;
  SHCNE_UpdateITEM = $2000;
  SHCNE_SERVERDISCONNECT = $4000;
  SHCNE_UpdateIMAGE = $8000;
  SHCNE_DRIVEADDGUI = $10000;
  SHCNE_RENAMEFOLDER = $20000;
  SHCNE_FREESPACE = $40000;
  SHCNE_ASSOCCHANGED = $8000000;
  SHCNE_DISKEVENTS = $2381F;
  SHCNE_GLOBALEVENTS = $C0581E0;
  SHCNE_ALLEVENTS = $7FFFFFFF;
  SHCNE_INTERRUPT = $80000000;
  SHCNF_IDLIST = 0;
  // LPITEMIDLIST
  SHCNF_PATHA = $1;
  // path name
  SHCNF_PRINTERA = $2;
  // printer friendly name
  SHCNF_DWORD = $3;
  // DWORD
  SHCNF_PATHW = $5;
  // path name
  SHCNF_PRINTERW = $6;
  // printer friendly name
  SHCNF_TYPE = $FF;
  SHCNF_FLUSH = $1000;
  SHCNF_FLUSHNOWAIT = $2000;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三亚市| 密云县| 冀州市| 娱乐| 江西省| 湖口县| 右玉县| 旌德县| 奉节县| 金堂县| 洪湖市| 开化县| 汤原县| 萨嘎县| 婺源县| 青铜峡市| 大竹县| 三江| 鄂伦春自治旗| 启东市| 张家口市| 鹤壁市| 达州市| 沙湾县| 闻喜县| 和平区| 墨玉县| 庆阳市| 垫江县| 嵊泗县| 当阳市| 安溪县| 洛浦县| 屏南县| 饶阳县| 湖北省| 察隅县| 泾源县| 宁武县| 河曲县| 旬阳县|