我有一个有时会访问本地网络中文件共享的应用程序。
在这种情况下,路径存储在fEBookPath中。
如果用户从此输入了登录名和密码,那一切都很好。但是,如果不是FindFirst,则不要返回0。在这种情况下,我想显示与Windows资源管理器相同的安全对话框。
像这样

delphi - 如何显示Windows安全性对话框-LMLPHP

我的简化代码

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;

07-25 23:38