
用CWnd::findWindow(参数,参数);
函数:
static CWnd PASCAL FindWindow(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName
);
#define NO_WIN32_LEAN_AND_MEAN
#include <shlobjhpp>
void __fastcall TForm1::Button1Click(TObject Sender)
{
LPMALLOC malloc;
LPITEMIDLIST pidl;
TSHFileInfo FileInfo;
name=StringToOleStr(Edit1-> Text);
if(SUCCEEDED(SHGetMalloc(&malloc)))
{
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_DRIVES ,&pidl))) //CSIDL_NETWORK 为网上邻居
{
SHGetFileInfo(PChar(pidl),0,&FileInfo,sizeof(FileInfo),SHGFI_PIDL|SHGFI_ICON);
Form1-> Icon-> Handle=FileInfohIcon;
}
malloc-> Free()
}
以上是获取,以下是创建
void CreateShortCut(const AnsiString &file)
{
IShellLink pLink;
IPersistFile pPersistFile;
if(SUCCEEDED(CoInitialize(NULL)))
{
if(SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER,
IID_IShellLink, (void ) &pLink)))
{
pLink-> SetPath(filec_str());
pLink-> SetDescription( "test快捷方式 ");
//这行是关键
pLink-> SetWorkingDirectory(ExtractFilePath(file)c_str());
pLink-> SetShowCmd(SW_SHOW);
if(SUCCEEDED(pLink-> QueryInterface(IID_IPersistFile,
(void )&pPersistFile)))
{
/
使用API函数SHGetSpecialFolder。shlobjh里有SHGetSpecialFolder的原型声明。这个函数可以帮我们找到windows的Desktop目录、启动目录、我的文档目录等。
SHGetSpecialFolder需要三个参数。 第一个参数是HWND,它指定了 "所有者窗口 ":在调用这个函数时可能出现的对话框或消息框。第二个参数是一个整数id,决定哪个目录是待查找目录,它的取值可能是:
CSIDL_BITBUCKET 回收站
CSIDL_CONTROLS 控制面板
CSIDL_DESKTOP Windows 桌面desktop
CSIDL_DESKTOPDIRECTORY desktop的目录
CSIDL_DRIVES 我的电脑
CSIDL_FONTS 字体目录
CSIDL_NETHOOD 网上邻居
CSIDL_NETWORK 网上邻居virtual folder
CSIDL_PERSONAL 我的文档
CSIDL_PRINTERS 打印机
CSIDL_PROGRAMS 程序组
CSIDL_RECENT 大多数最近打开的文档列一
CSIDL_SENDTO “发送到”菜单项
CSIDL_STARTMENU 任务条启动菜单项
CSIDL_STARTUP 启动目录
CSIDL_TEMPLATES 临时文档
最后一个参数是pidl地址。SHGetSpecialFolderLocation把地址写到pidl。
/
String spath= "C:\\testlnk ";
LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
char szDir[MAX_PATH];
if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
CSIDL_DESKTOP,//CSIDL_STARTUP, //获取启动目录;
&pidl)))
{
// 如果成功返回true
if(SHGetPathFromIDList(pidl, szDir))
{
spath= szDir;
spath+= "\\testlnk " ;
}
pShellMalloc-> Free(pidl);
}
pShellMalloc-> Release();
}
WideString strShortCutLocation(spath); //快捷方式的存放路径
pPersistFile-> Save(strShortCutLocationc_bstr(), TRUE);
pPersistFile-> Release();
}
pLink-> Release();
}
CoUninitialize();
}
}
///////////////
调用:
CreateShortCut(AnsiString(ParamStr(0)));
TCHAR path[255];
ZeroMemory(path,255);
SHGetSpecialFolderPath(0,path,CSIDL_DESKTOPDIRECTORY,0);
MessageBox(NULL,path,NULL,MB_OK);
wcout<<path<<endl;
记得导入头文件
#include "shlobjh"
桌面上的文件在C盘的文件夹通过以下步骤找到:
点击桌面的计算机。
进入计算机页面后,点击C盘,右键属性打开C盘。
进入C盘页面,找到users文件夹并打开。
在用户页面里点击你当前登录账号的用户名的文件夹打开。如,我当前用户名是work
找到文件名为桌面的文件夹,打开进入
进入桌面就可以看到桌面文件夹了。
在C:\Documents and Settings\Administrator\桌面的位置。
如下图:
扩展资料:
桌面文件一般存放在C盘,用户名下的“桌面”文件夹内。
桌面的定义广泛,它包括任务栏和Windows边栏及“开始”按钮 。边栏包含称为小工具的小程序,而“开始”按钮可以访问程序、文件夹和计算机设置。
桌面位置:
桌面文件夹一般位于相应的用户文件夹中,假设为XP系统,并且安装在C盘,当前用户为USER,则USER的桌面文件夹位置为“C:\Documents and Settings\USER\桌面”。
另外,在默认状态下,用户名为USER的桌面还会继承“ALL USERS”和"DEFAULT USERS"两个文件夹中内容。
假设为Windows 7系统,并且安装在D盘,当前用户为USER2,则USER2的桌面文件夹位置为“D:\Users\USER2\Desktop”。
参考资料:
百度百科-桌面
可以通过查看桌面文件的路径来打开桌面文件夹,具体的 *** 作方法如下:
1、首先,在计算机桌面上找到要查询的文件,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,选中此文件并单击鼠标右键以打开下拉菜单,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,选择下面的“属性”选项,然后单击以进入“属性”界面,如下图所示,然后进入下一步。
4、最后,完成上述步骤后,选择“详细信息”选项卡,在“详细信息”界面中找到“文件夹路径”,就可以在文件夹路径后面的c驱动器中看到桌面文件的目录位置,如下图所示。这样,通过此路径就可以打开桌面文件夹了,问题就解决了。
win10系统桌面文件的目录有两种打开方法
方法一
1、找到桌面上的此电脑图标,如下图所示,并双击打开
2、双击打开系统(C:)盘
3、双击打开用户文件夹
4、双击打开Administrator文件夹
5、双击打开桌面文件夹
6、即可查看桌面文件目录
方法二
1、找到桌面上的此电脑图标,如下图所示,并双击打开
2、用鼠标单击地址栏
3、输入“桌面”
4、点击右侧的前往选项
5、即可查看桌面文件目录
以上就是关于桌面快捷方式里的起始位置如何取到,用C++取。全部的内容,包括:桌面快捷方式里的起始位置如何取到,用C++取。、SHGetSpecialFolderPath C++源文件中如何获取桌面路径、放在桌面上的文件在C盘上的哪个文件夹里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)