4

在此处输入图像描述

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

4

1 回答 1

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 上进行修改。因此,您可能更喜欢使用LoadLibrary和编写 DLL 导入GetProcAddress,并在运行时根据RunVANW函数是否可用来切换行为。

于 2012-11-05T09:48:23.987 回答