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