`
java-mans
  • 浏览: 11421427 次
文章分类
社区版块
存档分类
最新评论

创建快捷方式到[启动]

 
阅读更多
uses ActiveX, ComObj, ShlObj;

function CreateLinkToStartUp(AppName, WorkingDirectory,
LinkFileName, Description: string; CurrentUser: Boolean = True): Boolean;
//******************************************************************************
// Function: 在开始启动里建立程序快捷方式
// Param:     AppName              string          目标
//            WorkingDirectory     string          起始位置
//            LinkFileName         string          快捷方式名
//            Description          string          备注
//            CurrentUser
//            创建到当前用户的启动里,CurrentUser设置为True
//            创建到所有用户的启动里,CurrentUser设置为False
// Return:    Boolean      True :成功    False :失败
//******************************************************************************
function GetSpecialFolderDir(const folderid: integer): string;
var
    pidl: pItemIDList;
    buffer: array[0..255] of char;
begin
    //取指定的目录项目表
    //CSIDL_STARTUP:启动
    SHGetSpecialFolderLocation(application.Handle, folderid, pidl);
    SHGetPathFromIDList(pidl, buffer); //转换成文件系统的路径
    Result := strpas(buffer);
end;
function CreateShellLink(mPath: string; mWorkingDirectory: string;
    mFileName: WideString; mDescription: string): Boolean; { 返回创建快捷方式是否成功 }
var
    vShellLink: IShellLink;
    vPersistFile: IPersistFile;
    vUnKnown: IUnKnown;
begin
    Result := True;
    try
      vUnKnown := CreateComObject(CLSID_ShellLink);
      vShellLink := vUnKnown as IShellLink;
      vPersistFile := vUnKnown as IPersistFile;
      vShellLink.SetPath(PChar(mPath));
      vShellLink.SetWorkingDirectory(PChar(mWorkingDirectory));
      vShellLink.SetDescription(PChar(mDescription));
      if ExtractFileExt(mFileName) <> '.lnk' then
        mFileName := mFileName + '.lnk';
      vPersistFile.Save(PWChar(mFileName), False);
    except
      Result := False;
    end;
end;
begin
if CurrentUser then //CurrentUser
    Result := CreateShellLink(AppName, WorkingDirectory,
      GetSpecialFolderDir(CSIDL_STARTUP) + '\' + LinkFileName, Description)
else //All User
    Result := CreateShellLink(AppName, WorkingDirectory,
      GetSpecialFolderDir(CSIDL_COMMON_STARTUP) + '\' + LinkFileName, Description);
end;

分享到:
评论

相关推荐

    VB创建快捷方式

    可选择在桌面、程序组、快速启动栏、收藏夹、开始菜单、启动项中创建设定内容的快捷方式。

    Unity 创建快捷方式自动启动

    Unity 创建快捷方式自动启动 允许脚本后会自动在自动启动文件夹中添加当前exe的快捷方式,这样后面开启就可以自动启动程序了 食用方法: 1.导入到unity编辑器 2.把ZYF_AutoRunApp挂到场景物体上 3.打包即可

    Android 创建快捷方式 删除快捷方式 启动模式

    Android 创建快捷方式 Android 删除快捷方式 Android 快捷方式启动模式 Android 快捷方式注意点

    批量创建快捷方式.exe

    "%USERPROFILE%\Application Data\Microsoft\Internet Explorer\Quick Launch\批量创建快捷方式" ::把批处理所在文件夹内的批量创建快捷方式.exe这个文件在快速启动创建名字为批量创建快捷方式的快捷方式 ...

    cmd-StartUp快捷方式创建

    之前研究了Python创建快捷方式到启动菜单中,后面也研究了cmd的创建方法,试验都能成功,希望可以帮助到大家

    创建快捷方式源码

    创建快捷方式源码,在桌面,快速启动,开始添加快捷方式

    易语言快捷方式启动

    易语言快捷方式启动源码,快捷方式启动,创建快捷方式,取启动目录,SHGetSpecialFolderLocation,SHGetPathFromIDListA,MoveFileExA

    Android创建快捷方式的例子

    当第一次运行程序或者是还没有创建快捷方式的情况下,会弹出一个对话框,提示用户是否要创建快捷方式。这个例子通过在SharedPreferences里读写相关的数值来判断程序是否是第一次启动以及是否创建了快捷方式。

    解析android创建快捷方式会启动两个应用的问题

    因为第一个界面是欢迎界面,所以快捷方式启动的界面也是欢迎界面,刚开始就怀疑快捷方式创建的代码有问题,但不知道问题出在哪儿。猜测可能会是快捷方式的错误导致系统创建两个应用,就也是同一个应用会有两个PID,...

    创建快捷方式程序

    该程序,利用vbs的方式创建快捷方式.需要使用cmd运行,具体操作,可以在cmd中键入本程序完整路径,再输入参数 "help" 查看

    Delphi创建桌面快捷方式和设置开机自启动

    Delphi创建桌面快捷方式和设置开机自启动,打开程式,会在桌面创建一个该程式的快捷方式,把信息写入注册表,使其开机自启动.

    易语言创建快捷方式

    创建快捷方式源码 系统结构:创建快捷方式,添加文档记录,取操作系统目录, ======程序集1 | | | |------ _启动子程序 | | | |------ _临时子程序 | | | | ======_接口程序集 | | | |------ 创建快捷方式

    c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹

    c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹

    易语言-创建快捷方式小工具易语言

    4、在不勾选“创建位置”的方式下,默认创建快捷方式到拖放文件的安装目录;5、“重命软件”栏如果保持“默认”或者为空,则创建同拖放文件相同文件名的快捷方式;6、软件智能识别文件和文件夹,创建对应快捷方式;7...

    WayOs免拉黑工具v1.96最新破解版

    软件使用方法: 1、直接运行DiskID.exe,将会加载一个hdhook.sys驱动,右击任务栏右下角的绿色图标setting 弹出当前硬盘号,下面的框中...3、把root.bat创建快捷方式到启动项,这样只要机器重启会自动运行本程序。

    Shortcut.exe 命令行创建快捷方式1.0

    AppFile 你希望创建快捷方式的文件名。 /a 可选参数—用于执行文件名的额外辅助参数。 /h 可选参数—指定某快捷方式热键 [ctrl+alt+shift+f1]。 /s 可选参数—用于设置程序窗口的显示方式 [默认:常规1,最小...

    C#实现在启动目录创建快捷方式的方法

    本文实例讲述了C#实现在启动目录创建快捷方式的方法。分享给大家供大家参考。具体如下: 添加引用,选择 COM 选项卡并选择 Windows Script Host Object Model /// /// 将文件放到启动文件夹中开机启动 /// /// ...

    桌面快捷方式的创建

    本app是实现了快捷方式的创建,主要特点是: 1:创建的快捷方式 与应用绑定,卸载...4:安装了程序之后 创建了快捷方式,当用户不想要快捷方式时,把快捷方式删除后,则在下一次重新启动程序的时候,不会创建快捷方式。

    Android 创建app快捷方式到主界面.rar

    在android手机中创建应用APP的快捷方式,在本实例中,创建快捷方式是从用户单击了按钮开始,当然这只是演示,在实际使用中,可能由APP安装程序直接创建快捷方式,实现方法与以下代码相似:  //按下了按钮时  ...

Global site tag (gtag.js) - Google Analytics