创建快捷方式图标可在属性中该,步骤如下:
1.
2
WM设备上本身就支持创建快捷方式,在菜单上选择“复制”,然后其他地方选择“粘贴快捷方式”皆可。 可有时我们需要为用户提供一种功能,让用户可以自己选择是否在开机时启动,这是就需要我们开发人员为其提供操作了。
当然,在.NET CF 上为WM创建快捷方式是件很容易的事情。这里提供两种方式:
方法一: 通过P/Inovke调用系统API - SHCreateShortcut或SHCreateShortcutEx
Code
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->DWORDWINAPISHCreateShortcut(
LPTSTRszShortcut,//快捷方式路径,非空
LPTSTRszTarget//需要被创建快捷方式的路径,可以包括路径和参数
);
和
DWORDWINAPISHCreateShortcutEx(
LPTSTRlpszDir,//快捷方式路径,非空
LPTSTRlpszTarget,//需要被创建快捷方式的路径,可以包括路径和参数
LPTSTRszShortcut,//返回唯一快捷方式名,如果不想返回设置为NULL
LPDWORDlpcbShortcut//快捷方式允许的最大长度。如果快捷方式名小于该长度,则返回正确长度。如果不想返回则设置为NULL
);
BOOLSHCreateShortcutExample()
{
//CreateashortcutcalledmyAppShortcut.lnk,
//thatlinkstothetargetfilein/Windows/ProgramFiles,namedmyApp.exe.
//Placetheshortcutinthefolder/Windows.
returnSHCreateShortcut(TEXT("//Windows//myAppShortcut.lnk"),TEXT("//Windows//ProgramFiles//myApp.exe"));
}
BOOLSHCreateShortcutExExample()
{
//Createashortcuttothefile/Windows/ProgramFiles/myApp.exe
//in/Windows/myPath,withamaximumallowableshortcutnamelengthof64.
//Ifsuccessful,myAppShortcutwillcontainthenameoftheshortcut.
DWORDmaxLen=64;
LPTSTRmyAppShortcut=newTCHAR[maxLen+1];
returnSHCreateShortcutEx(TEXT("//Windows//MyPath"),
TEXT("//Windows//ProgramFiles//myApp.exe"),
myAppShortcut,
&maxLen);
}
.NET CF c#
调用
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->[DllImport("coredll.dll",EntryPoint="SHCreateShortcut")]
privatestaticexternboolSHCreateShortcut(stringshortcut,stringtarget);
privatevoidBtn_CreateShortCut_Click(objectsender,EventArgse)
{
SHCreateShortcut(@"/Windows/StartUp/"+GetApplicationName()+".lnk",
"/""+GetApplicationFullName()+"/"");
}
方法二:
打开一个WM上的后缀名为.lnk的文件,查看其中的格式,如下:
{目标路径包含字符数}#"{目标路径和命令}"
48#"/Program Files/CreateShortCut/CreateShortCut.exe"
说明: 如果目标路径包含空格,则要用2个引号把路径包起来,当然推荐是在任何时候都是用2个引号把路径包含进来。您可以去掉引号试试!
我们可以按照该格式来定义自己的快捷方式函数:
Code
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->///<summary>
///创建进程快捷方式
///说明:需要注意该函数和系统提供API在target参数输入的不同。如果target中含有空格符,
///那么需要在路径外使用2个引号""将整个路径个包含。
///</summary>
///<paramname="shortcut">快捷方式路径</param>
///<paramname="arguments">参数</param>
///<paramname="target">需要被创建快捷方式的文件</param>
///<returns>trueorfalse</returns>
publicboolmyCreateShortCut(stringshortcut,stringarguments,stringtarget)
{
FileStreamfs=null;
try
{
boolbQuoted=false;
target=target.Trim();
//检查字符串中是否还有空格
if(target.IndexOf('')>-1)
bQuoted=true;
intlen=target.Length;
stringlink="";
//有空格,则在路径前后添加引号
if(bQuoted)
link="/""+target+"/"";
//判断参数是否为空
if(!string.IsNullOrEmpty(arguments))
{
link+=(""+arguments);
//记得要加上路径和参数中间的空格
len+=(arguments.Length+1);
}
//写入信息
fs=newFileStream(shortcut,FileMode.Create,FileAccess.Write,FileShare.ReadWrite);
if(File.Exists(shortcut))
{
using(StreamWritersw=newStreamWriter(fs))
{
sw.WriteLine(len.ToString()+"#"+link);
sw.Close();
fs.Close();
returntrue;
}
}
fs.Close();
returnfalse;
}
catch
{
fs.Close();
returnfalse;
}
}
//调用,注意与方法一的不同
privatevoidBtn_MyCreateShortCut_Click(objectsender,EventArgse)
{
myCreateShortCut(@"/Windows/StartUp/"+GetApplicationName()+".lnk",
"",
GetApplicationFullName());
}
好了,所有工作完成!
如下截图
--------------------
例子下载:
分享到:
相关推荐
.NET CF下的界面代码,注意看哦,是CF的,桌面版的就别看这个了
MSDN Webcast 谁动了我的.NET CF应用的性能? Video
Mobile PPC 版本的.Net CF
Microsoft .NET CF 2.0.cab 手机上的安装包,用于无法运行NCF2.0软件的手机
c# .net cf 实现Windows Mobile 拍照录像功能,适合Windows Mobile 5.0 Windows Mobile 6.0 Windows Mobile 6.5平台
用C#开发.NET CF 蓝牙通信模块用C#开发.NET CF 蓝牙通信模块用C#开发.NET CF 蓝牙通信模块
MSDN Webcast 谁动了我的.NET CF应用的性能? PPT
在wince下画比较炫的曲线图。适用于wince下的.net开发。分析仪器方面的开发很适用
.net cf发送短信类的源代码,支持.net cf 1.0以上
我们也知道,用.NET CF开发红外通信应用时相当轻松的,因为.NET CF中有一个命名空间System.Net.IrDA就是用于红外通信的通信模块。但是,.NET CF中还没有关于蓝牙通信的模块,所以目前来讲做这方面的开发还有一定的...
wince c# .net修改cf版本解决方法
可以实现.net CF压缩算法,试一下 还是比较好用
在本次讲座中将向大家介绍如何在Windows CE 6.0 R2中支持.NET CF 3.5应用程序,如何安装.NET CF 3.5的QFE,如何在Visual Studio 2008中开发.NET CF 3.5应用程序,如何将.NET CF 3.5运行时和应用程序加入到OS Design...
WCF for .NET CF快速入门
支持.net cf 2.0 的 windows ce 6.0 emulator 模拟器,安装后可以用vs开发程序下到模拟器上查看运行结果!
一个.net cf的3D程序示例,里面有大量的例程。可以供手机3D程序开发的人参考
用C#开发.NET CF 蓝牙通信模块
一般情况下wince6.0仅支持.net framework 2.0,要自已定制.net framework 3.5的系统非常麻烦,经过长时间的研究发现,其实可以在wince6系统启动以后再手动安装.net framework 3.5的支持包,安装以后就可以完美支持3.5...
C# .NET CF 调用 颜色选择对话框 颜色对话框 颜色选择器 源码
Windows CE / WM6 .NET CF 很漂亮的一套UI控件(BeeMobile)特别版下载,可用于制作精美的屏幕界面!