如何把程式釘到Windows7工作列 修正版

2021-06-01 05:48:45 字數 1598 閱讀 3955

在csdn論壇看到有網友提問如何把程式釘到windows7的工作列,ccrun(妖哥)對這個問題很感興趣,於是google了一下,沒有找到相關的api資料,但是在國外的乙個站點看到用folderitemverb物件來實現的方法,關於具體的資料,可以查閱msdn:

在delphi中實現的**如下。編譯環境:delphi7和xe2,測試作業系統為中文和英文windows7

uses comobj;

var vshell, vfolder, vfolderitem, vitemverbs: variant;

i: integer;

str: string;

h: hinst;

szpinname: array[0..255] of char;

begin

vpath := strpath;

vfolder := vshell.namespace(vpath);

vitemverbs := vfolderitem.verbs;

h := loadlibrary('shell32.dll');

loadstring(h, 5386, szpinname, 256);

freelibrary(h);

for i := 1 to vitemverbs.count do

begin

str := vitemverbs.item(i).name;

if sametext(str, szpinname) then

begin

// 63 63 72 75 6e 2e 63 6f 6d

vitemverbs.item(i).doit;

end;

end;

end;

procedure tform1.button1click(sender: tobject);

begin

end;

在c++builder中的實現**如下。編譯環境:c++builder6和xe2,測試作業系統:中文和英文windows7

; ::loadstring(hinst, 5386, szpinname, 256);

::freelibrary(hinst);

string str;

int ncount = vitemverbs.olepropertyget("count");

for (int i = 0; i < ncount; i++)

}}void __fastcall tform1::button1click(tobject *sender)

另外,感謝titilima大牛,針對.lnk檔案釘到win7工作列,有更簡便的方法:

c++**:

::shellexecute(null, text("taskbarpin"), text("e:\\temp\\notepad.lnk"), null, null, sw_show);
delphi**:

shellexecute(nil, 'taskbarpin', 'e:\temp\notepad.lnk'), nil, nil, sw_show);

如何把程式釘到Windows7工作列 修正版

源 如何把程式釘到windows7工作列 修正版 在csdn論壇看到有提問如何把程式釘到windows7的工作列,ccrun 妖哥 對這個問題很感興趣,於是google了一下,沒有找到相關的api資料,但是在國外的乙個站點看到用folderitemverb物件來實現的方法,關於具體的資料,可以查閱m...

如何把程式釘到Windows7工作列 修正版

源 如何把程式釘到windows7工作列 修正版 在csdn論壇看到有提問如何把程式釘到windows7的工作列,ccrun 妖哥 對這個問題很感興趣,於是google了一下,沒有找到相關的api資料,但是在國外的乙個站點看到用folderitemverb物件來實現的方法,關於具體的資料,可以查閱m...

windows 7下如何解除安裝grub

vista windows 7下如何解除安裝grub 這是我找了很多方法以後唯一可行的,完全沒有任何問題,所以你不必擔心系統會出問題。linux的分割槽已經被你從windows中刪除,系統啟動後停在 grub 提示符處。在 grub 提示符後輸入 rootnoverify hd0,0 回車。將第一塊...