Delphi 如何显示Windows安全对话框
我有一个应用程序,有时访问本地网络中的文件共享。 在这种情况下,路径存储在fEBookPath中。 如果用户输入了登录名和密码以后,一切都好了。但如果未找到第一个,则不返回0。在这种情况下,我希望显示与Windows资源管理器相同的安全对话框。 像这样 我的简化代码Delphi 如何显示Windows安全对话框,delphi,windows-7-x64,delphi-2007,Delphi,Windows 7 X64,Delphi 2007,我有一个应用程序,有时访问本地网络中的文件共享。 在这种情况下,路径存储在fEBookPath中。 如果用户输入了登录名和密码以后,一切都好了。但如果未找到第一个,则不返回0。在这种情况下,我希望显示与Windows资源管理器相同的安全对话框。 像这样 我的简化代码 if FindFirst(fEBookPath + '*.*', faDirectory, vSearchRecFolder) = 0 then begin // Existing code to access fEBookP
if FindFirst(fEBookPath + '*.*', faDirectory, vSearchRecFolder) = 0 then
begin
// Existing code to access fEBookPath
end
else
// Display Windows security dialog to enter login + password
这段代码应该符合我的要求
function TLogonForm.ShowSecurity: DWORD;
var
UNCPath,UserName,PassWord: string;
NwR : TNetResource;
begin
UNCPath := '\\xenapp06';
NwR.lpLocalName:= '';
NwR.lpProvider := '';
NwR.dwType := RESOURCETYPE_DISK;
NwR.lpRemoteName:= PChar(UNCPath);
Result := WNetAddConnection2(NwR, nil, nil, CONNECT_INTERACTIVE or CONNECT_PROMPT);
end;
+CONNECT\u提示符,将提示并设置连接。您正在连接到网络资源,而不是显示对话框。结果类型为
DWORD
,您可能不想连接到打印机,而想连接到磁盘。对于那些空字符串,您只需nil
。好的,谢谢您的建议如果您想发布解决方案,请将其作为下面的答案,而不是将其编辑到问题本身中。这是一本书。