精华内容
下载资源
问答
  • unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl....必备引用库 type TForm1 = class

    unit Unit1;

    interface

    uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
    ComObj, ActiveX, ShlObj;
    // ComObj, ActiveX, ShlObj;必备的引用库
    type
    TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    procedure CreateLink(ProgramPath, ProgramArg, LinkPath, Descr: String);
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;
    const
    maxPath = 200; // 定义最大字符串数组长度
    var
    Form1: TForm1;

    implementation

    {$R *.dfm}
    { ml:=ExtractFilePath(Paramstr(0));
    if RenameFile (ml+‘Project1.exe’,ml+‘001.exe’) then
    begin
    ShowMessage(‘修改成功’);
    end
    else
    begin
    ShowMessage(‘修改失败’);
    end; }
    procedure TForm1.Button1Click(Sender: TObject);
    var

    tmp: array [0…maxPath] of Char;
    WinDir: string;
    pitem:PITEMIDLIST;
    usrDeskTopPath: string;
    begin

    //获取当前用户桌面的位置
    SHGetSpecialFolderLocation(self.Handle, CSIDL_DESKTOP, pitem);
    setlength(usrDeskTopPath, maxPath);
    shGetPathFromIDList(pitem, PWideChar(usrDeskTopPath));
    usrDeskTopPath := String(PWideChar(usrDeskTopPath));

    // 创建快捷方式
    CreateLink(
    ParamStr(0), // 应用程序完整路径
    ‘-22 -dd xx=“aa”’, // 传给应用程序的参数

    usrDeskTopPath + '\' + Application.Title + '.lnk', // 快捷方式完整路径
    'Application.Title'                                // 备注
    

    );
    end;
    procedure TForm1.CreateLink(ProgramPath, ProgramArg, LinkPath, Descr: String);
    var
    AnObj: IUnknown;
    ShellLink: IShellLink;
    AFile: IPersistFile;
    FileName: WideString;
    begin
    if UpperCase(ExtractFileExt(LinkPath)) <> ‘.LNK’ then //检查扩展名是否正确
    begin
    raise Exception.Create(‘快捷方式的扩展名必须是 ′′LNK′′!’);
    //若不是则产生异常
    end;
    try
    OleInitialize(nil);//初始化OLE库,在使用OLE函数前必须调用初始化
    AnObj := CreateComObject(CLSID_ShellLink); //根据给定的ClassID生成
    //一个COM对象,此处是快捷方式
    ShellLink := AnObj as IShellLink;//强制转换为快捷方式接口
    AFile := AnObj as IPersistFile;//强制转换为文件接口
    //设置快捷方式属性,此处只设置了几个常用的属性
    ShellLink.SetPath(PChar(ProgramPath)); // 快捷方式的目标文件,一般为可执行文件
    ShellLink.SetArguments(PChar(ProgramArg));// 目标文件参数

    ShellLink.SetWorkingDirectory(PChar(ExtractFilePath(ProgramPath)));//目标文件的工作目录
    ShellLink.SetDescription(PChar(Descr));// 对目标文件的描述
    FileName := LinkPath;//把文件名转换为WideString类型
    AFile.Save(PWChar(FileName), False);//保存快捷方式
    finally
    OleUninitialize;//关闭OLE库,此函数必须与OleInitialize成对调用
    end;

    end;

    end.

    展开全文
  • CentOS下创建应用程序的快捷方式

    千次阅读 2017-05-09 13:06:54
    CentOS下创建快捷方式
    CentOS下创建快捷方式
    说明:
    [Desktop Entry]   ---------快捷方式的固定格式
     Version=1.0      ---------版本号,可以不写              
     Name=Browser -快捷方式的名字,可以用软件的名字
     GenericName=Browser  -通用名称,也可以用软件名字
     Comment=Browse       -鼠标停留在上面时,显示的描述信息,可以不写
     Exec=/path/to/your/application -[重要],是应用程序所在的路径,尽量写绝对路径.
     Icon=/path/to/you/icon----快捷方式使用的图标
     Terminal=false        ----是否在终端下执行
     Type=Application      ----程序的类型
     MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
     StartupNotify=true    ----启动通知开关
     Categories=Network;WebBrowser;--把这个程序归类到哪些目录中,可以不要
     X-Desktop-File-Install-Version=0.21
    示例:vi eclipse.desktop 
    内容:
    [Desktop Entry]
    Version=2.4
    Name=Eclipse
    GenericName=Eclipse
    Comment=Eclipse
    Exec=/usr/bin/Eclipse
    Icon=/opt/Eclipse
    Terminal=false
    Type=Application
    编辑完成后保存,之后就可以在桌面上看到你刚刚创建的快捷方式了。
    双击运行。OK,创建完成了。
    展开全文
  • 参考源码,知道创建快捷方式是通过发广播给receiver实现。 第一步: 指定Action为: com.android.launcher.action.INSTALL_SHORTCUT 第二步: 指定名称: intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "手机管家...

    参考源码,知道创建快捷方式是通过发广播给receiver实现的。

    第一步:

    指定Action为:

    com.android.launcher.action.INSTALL_SHORTCUT

    第二步:

    指定名称:

    intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "手机管家");

    第三步:

    指定图标:

    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON,
    				BitmapFactory.decodeResource(getResources(), R.drawable.icon));

    第四步:

    指定要干什么事情:

    Intent shortcutIntent = new Intent();
    		shortcutIntent.setAction(Intent.ACTION_MAIN);
    		shortcutIntent.addCategory(Intent.CATEGORY_DEFAULT);
    		shortcutIntent.setClassName(getPackageName(),
    				"com.ustc.mobilemanager.SplashActivity");
    		intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);

    第五步:

    发送广播:

    sendBroadcast(intent);

    运行,发现程序并没有创建快捷方式,查看logcat日志,发现了一点:需要添加权限:

     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

    现在运行,OK了,不过我们的程序每次进入都会创建一个快捷方式,这个太。。。所以我们需要知道当我们创建过了之后就不要再创建了:

    完整的代码如下:

    /**
    	 * 创建快捷方式
    	 * 
    	 */
    	private void installShortcut() {
    
    		boolean shortcut = sp.getBoolean("shortcut", false);
    
    		if (shortcut) {
    			return;
    		}
    		Editor editor = sp.edit();
    
    		// 发送广播的Intent
    		Intent intent = new Intent();
    		intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    		// 快捷方式,要包含三个重要的信息:1.名称;2.图标;3.干什么事情
    		intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "手机管家");
    		intent.putExtra(Intent.EXTRA_SHORTCUT_ICON,
    				BitmapFactory.decodeResource(getResources(), R.drawable.icon));
    
    		Intent shortcutIntent = new Intent();
    		shortcutIntent.setAction(Intent.ACTION_MAIN);
    		shortcutIntent.addCategory(Intent.CATEGORY_DEFAULT);
    		shortcutIntent.setClassName(getPackageName(),
    				"com.ustc.mobilemanager.SplashActivity");
    		intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    		sendBroadcast(intent);
    		Toast.makeText(this, "已创建手机管家快捷方式", 0).show();
    		editor.putBoolean("shortcut", true);
    		editor.commit();
    
    	}


    在onCreate()方法中调用。

    展开全文
  • 通过此例子学习创建快捷方式的方法,也可知道一些编译错误解决方法。  #include #include #include #include #include #include #include #include #include #include "at

    转载请标明是引用于 http://blog.csdn.net/chenyujing1234

     

    通过此例子学习创建快捷方式的方法,也可知道一些编译错误的解决方法。 

    #include <windows.h>
    #include <dbt.h>
    #include <streams.h>
    #include <mmreg.h>
    #include <msacm.h>
    #include <fcntl.h>
    #include <io.h>
    #include <stdio.h>
    #include <shlobj.h> 
    
    #include "atlconv.h"
    
    void CreateShortcut(LPCTSTR lpszExe, LPCTSTR lpszLnk)
    {
    
    	// 建立块捷方式
    	// 参数lpszExe: EXE 文件全路径名
    	// 参数lpszLnk: 快捷方式文件全路径名
    	::CoInitialize( NULL );
    
    	IShellLink * psl = NULL;
    	IPersistFile * ppf = NULL;
    
    	HRESULT hr = ::CoCreateInstance(  // 启动组件
    		CLSID_ShellLink,      // 快捷方式CLSID
    		NULL,                 // 聚合用(注)
    		CLSCTX_INPROC_SERVER, // 进程内(Shell32.dll)服务
    		IID_IShellLink,       // IShellLink 的IID
    		(LPVOID *)&psl );     // 得到接口指针
    
    	if ( SUCCEEDED(hr) )
    	{
    		psl->SetPath( lpszExe );  // 全路径程序名
    		//      psl->SetArguments();      // 命令行参数
    		//      psl->SetDescription();    // 备注
    		//      psl->SetHotkey();         // 快捷键
    		//      psl->SetIconLocation();   // 图标
    		//      psl->SetShowCmd();        // 窗口尺寸
    
    		// 根据EXE 的文件名,得到目录名
    		TCHAR szWorkPath[ MAX_PATH ];
    		::lstrcpy( szWorkPath, lpszExe );
    		LPTSTR lp = szWorkPath;
    		while( *lp )   
    			lp++;
    
    		while('\\'!= *lp ) 
    			lp--;
    		*lp=0;
    
    		// 设置EXE 程序的默认工作目录
    
    		psl->SetWorkingDirectory( szWorkPath );
    		hr = psl->QueryInterface(  // 查找持续性文件接口指针
    			IID_IPersistFile,      // 持续性接口IID
    			(LPVOID *)&ppf );      // 得到接口指针
    
    		if ( SUCCEEDED(hr) )
    		{
    			USES_CONVERSION;       // 转换为UNICODE 字符串 CONVERSION要慎用
    			ppf->Save(T2COLE(lpszLnk), TRUE );  // 保存
    
    		}
    	}
    
    	if ( ppf ) 
    		ppf->Release();
    
    	if ( psl ) 
    		psl->Release();
    
    	::CoUninitialize();
    }
    
    
    
    int main()
    {
    	CreateShortcut(
    		("C:\\WINDOWS\\system32\\notepad.exe"),  // 记事本程序。注意,你的系统是否也是这个目录?
    		("c:\\Documents and Settings\\Administrator\\桌面\\我的记事本.lnk")
    		);
    	return 0;
    }


     

    error C2065: “IShellLink”: 未声明的标识符

    解决方法是添加

    #include <shlobj.h>

     

     error C2065: “USES_CONVERSION”: 未声明的标识符

    解决方法是添加

    #include "atlconv.h"

     

     

    提示:

     error LNK2001: 无法解析的外部符号 "unsigned int (__stdcall* ATL::g_pfnGetThreadACP)(void)" (?g_pfnGetThreadACP@ATL@@3P6GIXZA)

    解决方法是

    包含atlsd.libdebug)或者atls.lib。有两种方式:

    展开全文
  • visual c++创建指向应用程序的快捷方式.zip
  • 一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式: 一:在应用程序中创建一个Intent,然后以...
  • 命令创建应用程序快捷方式 访问应用程序安装程序 本文包含一个我创建简单安装程序,该安装程序用于分发前端。 历史 在早期,我只需将开发前端放在用户计算机上,然后将其复制过来,即可将其安装在用户计算机上...
  • a.在launcher的应用程序列表上,长按某一应用程序图标创建快捷方式到桌面 b.在桌面上长按在弹出框中选择快捷方式->应用程序->...2为应用程序的组件注册某一个符合特定条件的IntentFilter,然后...
  • 在我安装应用程序中找到: 通过快捷方式访问访问应用程序安装程序 我使用此代码为用户生成快捷方式。 在我安装程序应用程序中,我将其设置为在用户桌面以及用户“程序”文件夹(单击“开始”->“程序”进入该...
  • CentOS7创建应用程序的桌面快捷方式

    千次阅读 2019-06-21 16:45:10
    CentOS7创建应用程序的桌面快捷方式 1、gedit /home/用户名/桌面/eclipse.desktop 2、将下面内容粘贴进去并保存退出 [Desktop Entry] Name=Eclipse C/C++ Exec=/opt/eclipse/eclipse Type=Application Icon=/opt/...
  • 两种在linux下创建应用程序快捷方式的方法: A. 在桌面上创建快捷方式 B. 在应用程序菜单中添加快捷方式 在桌面上创建快捷方式 这是最简单一种方法,在桌面上单击鼠标右键,会有一个“创建...
  • 任务栏图标拖不下来,右键点击程序图标也没有创建快捷方式的菜单选项; 那如何把自己经常使用软件和文件夹放到桌面来呢?大家搜索时可能发现要通过命令行输入命令来实现, 其实还有更方便方法: 1、首先是软件...
  • ActivityLauncher, 启动隐藏活动并为已经安装的应用程序创建快捷方式 ActivityLauncher这个为已经安装应用启动隐藏activity,并创建主屏幕快捷方式。 来自:...
  • 一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式: 一:在应用程序中创建一个Intent,然后以...
  • 一:用WSH直接创建快捷方式:1.首先要添加引用.添加引用方法非常简单,右击你项目并选择添加引用,选择 COM 选项卡并选择 Windows Script Host Object Model2.引用命名空间using System.Runtime.InteropServices;//...
  • 所以针对这些常用软件,我们最好给他创建一个快捷方式。比如在Linux下较为流行APPImage,我们如果给它创建一个快捷方式,那么其使用方式就和Windows一样了。 Linux下创建快捷方式也很简单,只需要在/usr/share/...
  • (博友GUO Xingwang提供的两个链接地址是B/S架构程序的创建桌面快捷方式,而楼主是将问题归类到Windows Forms中,我想应该是C/S架构程序)在回答之前不知道楼主是否使用过VS.Net的安装工程?1、当您的应用程序开发完成...
  • 首先以PycharmDesktop文件作为模板 PycharmDesktop文件内容如下: [Desktop Entry] Version=1.0 Type=Application Name=PyCharm Professional Edition Icon=/home/adog/下载/pycharm-2019.2/bin/pycharm....
  • 1.创建快捷方式文件sudo gedit /usr/share/applications/Pycharm.desktop在计算机应用程序目录里创建快捷方式文件2.插入下面代码[Desktop Entry] Type = Application Name = Pycharm GenericName = Pycha...
  • 1、进入/usr/share/applications目录 ...2、以eclipse为例:创建eclipse.desktop文件 vi eclipse.desktop 3、添加数据 [ Desktop Entry ] Type=Application Name=eclipse Exec=/home/...
  • 1.7 高手带你做——通过记事本创建应用程序开发人员可以直接借助 VS 2015 开发工具开发控制台应用程序,但是好开发人员不应 该只学会如何利用开发工具,还应该从多个角度思考问题。实际上,除了借助开发工具外, ...
  • Android 操作系统对于...此外,如果用户想在设备的Home Screen上添加应用的快捷方式,可以在Launcher中长按这个应用的图标,Android系统会自动为该应用在Home Screen上添加一个快捷方式,名称和图标和在Launcher中的
  • 0 介绍 如果在Linux桌面系统中你经常使用一个程序,你可能想去...虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式。 本文说明如...
  • 生成桌面快捷方式。 进入/home/harven/Desktop,创建文件“firefox.desktop”,并编辑内容,具体操作如下: touch firefox.desktop vim firefox.desktop 文件具体内容如下: [Desktop Entry] Name=Firefox ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,243
精华内容 497
关键字:

创建应用程序的快捷方式