S
sy0116
Unregistered / Unconfirmed
GUEST, unregistred user!
我知道一种用ShellexecuteEx调用文件属性对话框的方法,代码如下:<br> function ShowFileProperties(FileName: String; Wnd: HWND):Boolean;<br> var<br> sfi: TSHELLEXECUTEINFO;<br> begin<br> with sfi do<br> begin <br> cbSize := SizeOf(sfi);<br> lpFile := PAnsiChar(FileName); <br> Wnd := Wnd; <br> fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_INVOKEIDLIST or SEE_MASK_FLAG_NO_UI;<br> lpVerb := PAnsiChar('properties'); <br> lpIDList := nil;<br> lpDirectory := nil;<br> nShow := 0;<br> hInstApp := 0;<br> lpParameters := nil;<br> dwHotKey := 0;<br> hIcon := 0;<br> hkeyClass := 0;<br> hProcess := 0;<br> lpClass := nil;<br> end;<br> Result := ShellExecuteEX(@sfi);<br> end;<br><br> procedure TForm1.Button1Click(Sender: TObject);<br> begin<br> ShowFileProperties('c:/1.txt',Handle);<br> end;<br>但是我在我的机器上实验时发现,这样做确实可以调出文件属性对话框,但是当我退出test.exe时却会跳出一个错误说"0x5dd55dfe"指令引用的"0x00000020"内存不能为"read",<br>我用VC又写了了一个一样的程序,也有这个问题,请问要怎样才能正确的调用系统文件属性对话框呢?