怎样用代码取得任务栏快速启动区的路径?

zdgaa 2001-11-11 10:58:11
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
overu 2010-06-18
  • 打赏
  • 举报
回复
利用API函数 SHGetSpecialFolderLocation(
HWND hwndOwner,
int nFolder,
LPITEMIDLIST *ppidl
);
zdgaa 2001-11-13
  • 打赏
  • 举报
回复
OK
bcbsoft 2001-11-13
  • 打赏
  • 举报
回复
应该是如下,你改为Delphi代码就行了

AnsiString __fastcall TMainForm::GetQuickLPath()
{
AnsiString S,KeyName;
DWORD dwVersion;
TRegistry *Registry = new TRegistry;

dwVersion = GetVersion();

if (dwVersion < 0x80000000) // Windows NT dwBuild = (DWORD)(HIWORD(dwVersion));
{
KeyName="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
Registry->RootKey = HKEY_CURRENT_USER ;//2000
}
else
{
KeyName=".DEFAULT\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
Registry->RootKey = HKEY_USERS; //98
}

try
{
if(Registry->OpenKey(KeyName,false))
{
Registry->OpenKey(KeyName,false);
S = Registry->ReadString("AppData");
}
}
__finally
{
delete Registry;
}

return S+"\\Microsoft\\Internet Explorer\\Quick Launch";
}
yeah 2001-11-12
  • 打赏
  • 举报
回复
function GetQuickLaunchPath : string;
const
AppDir='\Microsoft\Internet Explorer\Quick Launch';
begin
Result := '';
With TRegistry.Create do
begin
RootKey := HKEY_CURRENT_USER;
if OpenKey(REGSTR_PATH_SPECIAL_FOLDERS,FALSE) then
begin
Result := ReadString('AppData');
CloseKey;
end;
Free;
Result := Result+Appdir;
end;
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧