桌面快捷方式里的起始位置如何取到,用C++取。

桌面快捷方式里的起始位置如何取到,用C++取。,第1张

用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盘上的哪个文件夹里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9778087.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存