-
Delphi 创建应用程序的快捷方式
2020-06-11 20:52:44unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl....必备的引用库 type TForm1 = classunit 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);
vartmp: 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:54CentOS下创建快捷方式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
-
71创建应用程序的快捷方式
2014-12-22 21:38:32参考源码,知道创建快捷方式是通过发广播给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()方法中调用。
-
采用COM方法 创建应用程序的快捷方式(菜鸟版)
2012-04-12 10:16:57通过此例子学习创建快捷方式的方法,也可知道一些编译错误的解决方法。 #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.lib(debug)或者atls.lib。有两种方式:
-
visual c++创建指向应用程序的快捷方式. vc创建快捷方式 的源代码
2021-01-19 17:06:21visual c++创建指向应用程序的快捷方式.zip -
Android通过应用程序创建快捷方式的方法
2021-01-05 02:10:10一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式: 一:在应用程序中创建一个Intent,然后以... -
命令创建应用程序快捷方式_快捷方式访问应用程序安装程序
2020-07-10 02:13:25命令创建应用程序快捷方式 访问应用程序安装程序 本文包含一个我创建的简单安装程序,该安装程序用于分发前端。 历史 在早期,我只需将开发的前端放在用户的计算机上,然后将其复制过来,即可将其安装在用户计算机上... -
创建应用程序快捷方式
2015-01-26 23:42:00a.在launcher的应用程序列表上,长按某一应用程序图标创建快捷方式到桌面 b.在桌面上长按在弹出框中选择快捷方式->应用程序->...2为应用程序的组件注册某一个符合特定条件的IntentFilter,然后... -
自动为您的应用程序创建快捷方式
2020-05-24 23:50:52在我的安装应用程序中找到: 通过快捷方式访问访问应用程序安装程序 我使用此代码为用户生成快捷方式。 在我的安装程序应用程序中,我将其设置为在用户桌面以及用户“程序”文件夹(单击“开始”->“程序”进入该... -
CentOS7创建应用程序的桌面快捷方式
2019-06-21 16:45:10CentOS7创建应用程序的桌面快捷方式 1、gedit /home/用户名/桌面/eclipse.desktop 2、将下面内容粘贴进去并保存退出 [Desktop Entry] Name=Eclipse C/C++ Exec=/opt/eclipse/eclipse Type=Application Icon=/opt/... -
两种在linux下创建应用程序快捷方式的方法
2019-09-23 01:44:33两种在linux下创建应用程序快捷方式的方法: A. 在桌面上创建快捷方式 B. 在应用程序菜单中添加快捷方式 在桌面上创建快捷方式 这是最简单的一种方法,在桌面上单击鼠标右键,会有一个“创建... -
Ubuntu系统应用程序创建快捷方式的方法
2019-09-27 09:33:10任务栏的图标拖不下来,右键点击程序图标也没有创建快捷方式的菜单选项; 那如何把自己经常使用的软件和文件夹放到桌面来呢?大家搜索时可能发现要通过命令行输入命令来实现, 其实还有更方便的方法: 1、首先是软件... -
ActivityLauncher, 启动隐藏的活动并为已经安装的应用程序创建快捷方式.zip
2019-09-17 10:17:25ActivityLauncher, 启动隐藏的活动并为已经安装的应用程序创建快捷方式 ActivityLauncher这个为已经安装的应用启动隐藏的activity,并创建主屏幕快捷方式。 来自:... -
Android之快捷方式一——通过应用程序创建快捷方式
2013-09-13 16:41:51一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式: 一:在应用程序中创建一个Intent,然后以... -
c#简单记事本应用程序的快捷方式_C#创建快捷方式的两种方法
2020-12-20 00:58:48一:用WSH直接创建快捷方式:1.首先要添加引用.添加引用的方法非常简单,右击你的项目并选择添加引用,选择 COM 选项卡并选择 Windows Script Host Object Model2.引用命名空间using System.Runtime.InteropServices;//... -
Ubuntu为应用程序创建快捷方式
2019-05-05 17:36:25所以针对这些常用的软件,我们最好给他创建一个快捷方式。比如在Linux下较为流行的APPImage,我们如果给它创建一个快捷方式,那么其使用方式就和Windows一样了。 Linux下创建快捷方式也很简单,只需要在/usr/share/... -
c#简单记事本应用程序的快捷方式_C#编程下如何为自己的程序创建快捷方式到桌面?...
2020-12-20 00:58:48(博友GUO Xingwang提供的两个链接地址是B/S架构程序的创建桌面快捷方式,而楼主是将问题归类到Windows Forms中,我想应该是C/S架构程序)在回答之前不知道楼主是否使用过VS.Net的安装工程?1、当您的应用程序开发完成... -
在ubuntu中创建launch应用程序的快捷方式
2019-07-27 10:24:38首先以Pycharm的Desktop文件作为模板 Pycharm的Desktop文件内容如下: [Desktop Entry] Version=1.0 Type=Application Name=PyCharm Professional Edition Icon=/home/adog/下载/pycharm-2019.2/bin/pycharm.... -
以Pycharm为例——创建应用程序快捷方式
2018-04-21 12:15:121.创建快捷方式文件sudo gedit /usr/share/applications/Pycharm.desktop在计算机应用程序目录里创建快捷方式文件2.插入下面代码[Desktop Entry] Type = Application Name = Pycharm GenericName = Pycha... -
CentOS7下创建应用程序的桌面快捷方式
2019-05-13 12:51:001、进入/usr/share/applications目录 ...2、以eclipse为例:创建eclipse.desktop文件 vi eclipse.desktop 3、添加数据 [ Desktop Entry ] Type=Application Name=eclipse Exec=/home/... -
c#简单记事本应用程序的快捷方式_《C#编程入门与应用》—1.7 高手带你做——通过记事本创建应用程序...
2020-12-20 00:58:471.7 高手带你做——通过记事本创建应用程序开发人员可以直接借助 VS 2015 开发工具开发控制台应用程序,但是好的开发人员不应 该只学会如何利用开发工具,还应该从多个角度思考问题。实际上,除了借助开发工具外, ... -
LauncherShortcuts 创建应用程序某个Activity的快捷方式
2014-05-08 09:26:10Android 操作系统对于...此外,如果用户想在设备的Home Screen上添加应用的快捷方式,可以在Launcher中长按这个应用的图标,Android系统会自动为该应用在Home Screen上添加一个快捷方式,名称和图标和在Launcher中的 -
ubuntu16.04应用程序创建快捷方式或启动器
2018-09-11 17:56:080 介绍 如果在Linux桌面系统中你经常使用一个程序,你可能想去...虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式。 本文说明如... -
Linux下创建应用程序的桌面快捷方式和启动菜单栏
2020-05-23 08:32:09生成桌面快捷方式。 进入/home/harven/Desktop,创建文件“firefox.desktop”,并编辑内容,具体操作如下: touch firefox.desktop vim firefox.desktop 文件具体内容如下: [Desktop Entry] Name=Firefox ...
-
网络营销知识仓库.txt
-
微信HOOK-微信逆向-微信公众号爬虫系统
-
MySQL 基础篇 一【常用命令】
-
核心服务-注册中心
-
linux云服务器上使用免费版natapp进行内网穿透
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
【考研初试】安徽建筑大学703艺术设计理论考研真题库资料
-
学习方法
-
【爱码农】C#制作MDI文本编辑器
-
神奇的PR——商用公关手册.zip
-
VScode初学者代码运行
-
vue3从0到1-超详细
-
用微服务spring cloud架构打造物联网云平台
-
排名第一就是品牌,为何2021年还有人信?
-
C/C++反汇编解密
-
360手机卫士模块结构图(wainshine制作)[1].jpeg
-
量子计算笔记序章---双缝实验
-
MySQL 四类管理日志(详解及高阶配置)
-
数据研究必备:国内40个免费数据源.pdf
-
qBittorrentEE_v4.3.1.11_便携版.zip