如何使用delphi弹出这个表单?
是ShellExecuteEx
还是ShellExecute
可以做到这一点?
答案 0 :(得分:4)
从命令行可以执行此操作。 (至少,在我的Win7上...()
rundll32.exe van.dll,RunVAN
所以,只需将其包装在合适的ShellExecute
或类似的电话中。
请注意,该对话框旨在弹出系统托盘。我不知道你怎么能让它出现在更明显的地方。
另外,看看这个帖子。这里提到的另一种方式描述了如何以一种可能更有用的方式实现它:
如果你想从程序中调用它,只需跳过rundll32
调用即可。您可以自己加载DLL并调用该函数。例如:
procedure RunVANW(hwnd: HWND; hinst: HINST; lpszCmdLine: LPSTR;
nCmdShow: Integer); stdcall; external 'van.dll';
procedure ShowViewAvailableNetworksDialog;
begin
RunVANW(0, 0, nil, 0);
end;
我希望在旧版本的Windows上不能使用此功能,并且几乎肯定会在未来版本的Windows上进行修改。因此,您可能更喜欢使用LoadLibrary
和GetProcAddress
编写DLL导入,并根据RunVANW
函数是否可用而在运行时切换行为。