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

2021-09-08 10:51:37 字數 1865 閱讀 7129

源:如何把程式釘到windows7工作列(修正版)

在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

vshell := createoleobject('');

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

'c:\windows

', '

regedit.exe');

end;

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

#include void

; ::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工作列 修正版

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

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

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

windows 7下如何解除安裝grub

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