创建可执行文件快捷方式的简单方法
创建可执行文件快捷方式的简单方法。
引言
在程序中创建可执行文件的快捷方式并不容易。 William Rayer 撰写了一篇很好的文章介绍了一种方法;你可以在这里看到。 但是,对于某些人来说,该解决方案可能过于复杂。 这里有一种可以做到同样效果的简单方法。
背景
众所周知,快捷方式是一个复杂的*.lnk文件。 *.URL 具有与*.lnk相同的功能,但其内容非常简单。 例如
========================================
[InternetShortcut]
URL=C:\MyFolder\Test.exe
IconIndex=0
IconFile=C:\MyFolder\Test.exe
========================================
保存文件,我们就可以得到一个指向Test.exe的快捷方式。
示例程序
我们将看到如何使用代码创建快捷方式。 我们可以使用 'WritePrivateProfileString
' 轻松创建*.URL文件。
#include <windows.h>
#include <stdio.h>
BOOL CreateShortcut(char *ptchExecutableFileName, char *ptchShortcutName)
{
BOOL Res = TRUE;
FILE *fp;
if(NULL == (fp = fopen(ptchExecutableFileName, "r")))
{
printf("\nCan`t find executable file!\n");
return FALSE;
}
fclose(fp);
Res &= WritePrivateProfileString("InternetShortcut",
"URL", ptchExecutableFileName, ptchShortcutName);
Res &= WritePrivateProfileString("InternetShortcut",
"IconIndex", "0", ptchShortcutName);
Res &= WritePrivateProfileString("InternetShortcut",
"IconFile", ptchExecutableFileName, ptchShortcutName);
return Res;
}
/*
For example: create a shortcut on desktop for e:\Test.exe
CreateShortcut("E:\\Test.exe",
"C:\\Documents and Settings\\Administrator\\Desktop\\Test.url");
//*/
现有问题
该方法可以正常创建可执行文件的快捷方式。 但我不知道如何创建指向文件夹的快捷方式。 如果有一个文件夹c:\MyFolder,我们创建以下文件
========================================
[InternetShortcut]
URL=C:\MyFolder
IconIndex=0
IconFile=C:\MyFolder
========================================
保存它。 当你点击该文件的图标时,你可以打开该文件夹,但图标的显示不正常!
如果你知道解决此问题的方案,请分享一下。