Click here to Skip to main content
6,595,444 members and growing! (22,451 online)
Email Password   helpLost your password?
Desktop Development » Files and Folders » General     Beginner License: The Code Project Open License (CPOL)

A simple method to create a shortcut to an executable file

By Jude Deng

A simple method to create a shortcut to an executable file.
VC6WinXP, Win32, Dev
Version:2 (See All)
Posted:19 Feb 2008
Updated:19 Feb 2008
Views:11,440
Bookmarked:5 times
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
4 votes for this article.
Popularity: 0.71 Rating: 1.18 out of 5
3 votes, 75.0%
1
1 vote, 25.0%
2

3

4

5

Introduction

It is not easy to create a shortcut for an executable file in program. William Rayer has a good article to introduce a method about it; you could see that here. But, that solution may be complex to some people. There is a simple method which can do the same thing.

Background

As we all know, a shortcut is a *.lnk file which has a complex content. *.URL has the same function as *.lnk, but its content is very simple. For example:

======================================== 
[InternetShortcut] 
URL=C:\MyFolder\Test.exe 
IconIndex=0 
IconFile=C:\MyFolder\Test.exe 
========================================

Save the the file, and we can get a shortcut to Test.exe.

Sample program

We will see how to create a shortcut using code. We can use 'WritePrivateProfileString' to create a *.URL easily.

#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");
//*/

Existing issue

The method can create a shortcut to an executable file normally. But I don't know how to create a shortcut to a folder. If there is a folder c:\MyFolder, we make the following file:

======================================== 
[InternetShortcut] 
URL=C:\MyFolder
IconIndex=0 
IconFile=C:\MyFolder 
========================================

Save it. When you click the icon of the file, you can open the folder, but the display of the icon is abnormal!

If you known a solution to this, please share it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Jude Deng


Member
^_^
Occupation: Software Developer
Location: China China

Other popular Files and Folders articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 2 of 2 (Total in Forum: 2) (Refresh)FirstPrevNext
AnswerHow to get the folder icon path and icon index for a given folder name PinmemberStephan Poirier18:59 19 Feb '08  
GeneralRe: How to get the folder icon path and icon index for a given folder name PinmemberJune Deng14:22 20 Feb '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 19 Feb 2008
Editor: Smitha Vijayan
Copyright 2008 by Jude Deng
Everything else Copyright © CodeProject, 1999-2009
Web20 | Advertise on the Code Project