如何弹出“连接到”对话框?

时间:2012-11-05 05:39:35

标签: delphi winapi

enter image description here

如何使用delphi弹出这个表单? 是ShellExecuteEx还是ShellExecute可以做到这一点?

1 个答案:

答案 0 :(得分:4)

从命令行可以执行此操作。 (至少,在我的Win7上...()

 rundll32.exe van.dll,RunVAN

所以,只需将其包装在合适的ShellExecute或类似的电话中。

请注意,该对话框旨在弹出系统托盘。我不知道你怎么能让它出现在更明显的地方。

另外,看看这个帖子。这里提到的另一种方式描述了如何以一种可能更有用的方式实现它:

https://groups.google.com/forum/?hl=en&fromgroups=#!topic/microsoft.public.development.device.drivers/nPn-PH3g_2Q


如果你想从程序中调用它,只需跳过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上进行修改。因此,您可能更喜欢使用LoadLibraryGetProcAddress编写DLL导入,并根据RunVANW函数是否可用而在运行时切换行为。