compact framework windows mobile wm c#代码 创建快捷方式
已经2018年了,windows mobile已经宣布不维护狠多年了,不要问我为什么还在开发windows mobile的程序,我也不想。公司有一批手持扫描枪设备依然是windows mobile的程序,依然有需求,总不能全部淘汰换成android的吧,新采购的是android的,老采购的还是windows mobile的,还有需求在提,没办法。所以。。。。。
资料是真少得可怜。以下是创建软件快捷方式的代码。。。。
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text; using System.Runtime.InteropServices;
using System.IO;
using System.Diagnostics;
public class BLLCreate
{ //调用方法
// SHCreateShortcut(@"\Windows\StartUp\" + GetApplicationName() + ".lnk","\"" + GetApplicationFullName() + "\"");
// myCreateShortCut(@"\Windows\StartUp\" + GetApplicationName() + ".lnk","",GetApplicationFullName()); // 获取进程名
public static string GetApplicationName()
{
return System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
} // 获取进程完全路径名
public static string GetApplicationFullName()
{
return System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
} #region 引用
[DllImport("coredll.dll", EntryPoint = "SHCreateShortcut")]
public static extern bool SHCreateShortcut(string shortcut, string target);
#endregion /// <summary>
/// 创建进程快捷方式
/// 说明: 需要注意该函数和系统提供API在target参数输入的不同。如果target中含有空格符,
/// 那么需要在路径外使用2个引号""将整个路径个包含。
/// </summary>
/// <param name="shortcut">快捷方式路径</param>
/// <param name="arguments">参数</param>
/// <param name="target">需要被创建快捷方式的文件</param>
/// <returns>true or false</returns>
public static bool myCreateShortCut(string shortcut, string arguments, string target)
{
FileStream fs = null;
try
{
bool bQuoted = false;
target = target.Trim();
// 检查字符串中是否还有空格
if (target.IndexOf(' ') > -1)
bQuoted = true; int len = target.Length;
string link = "";
// 有空格,则在路径前后添加引号
if (bQuoted)
link = "\"" + target + "\""; // 判断参数是否为空
if (!string.IsNullOrEmpty(arguments))
{
link += (" " + arguments);
// 记得要加上路径和参数中间的空格
len += (arguments.Length + 1);
} // 写入信息 fs = new FileStream(shortcut, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
if (File.Exists(shortcut))
{
using (StreamWriter sw = new StreamWriter(fs))
{
sw.WriteLine(len.ToString() + "#" + link);
sw.Close();
fs.Close();
return true;
}
} fs.Close();
return false;
}
catch
{
fs.Close();
return false;
}
}
}
compact framework windows mobile wm c#代码 创建快捷方式的更多相关文章
- 如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)
近来项目中有需要用到一个技术:使用C#操控快捷方式,包含创建和读取等.现整理一下实现方式,分享给大家. 第一步 创建一个项目 无需废话,跳过. 第二步 引用COM组件 右键“引用”,“添加引用”, ...
- 使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍
使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍 Windows MobileMobileWindowsMicrosoftWinForm 介绍 Microso ...
- [WINDOWS MOBILE | SOLUTION] 通过有线连接到 PC 后,WM设备能 PING 通网关但是不能上网
在 Windows Mobile Device Center 处点击 Mobile Device Settings, Connection Settings, 选择 This computer con ...
- PPC Windows Mobile判断网络(gprs)连接与否代码
转载 在PPC的开发中有时需要判断网络什么时候连接,什么时候断开,并且做出相应的处理.比如说TimeSyncPPC程序,就需要在网络连接之后得到消息然后去下载时间同步信息,因此就必须要一种方法让Tim ...
- C++使用代码创建一个Windows桌面应用程序
WinMain函数 Windows应用程序的唯一程序入口. 函数原型 int WINAPI WinMain { HINSTANCE hInstancem HINSTANCE hPreInstance, ...
- Windows Mobile入门
转自 http://www.cnblogs.com/peterzb/archive/2009/05/12/1455256.html [准备篇] 最近安排做手机视频监控方面开发,这个对我来 ...
- Windows Mobile和Wince(Windows Embedded CE)的字符集问题
背景 开发过Windows Mobile和Wince(Windows Embedded CE)的开发者,特别是Native C++开发者,或多或少都遇到过ANSI字符集和Unicode字符集的转换问题 ...
- 解决VS2008 开发Windows Mobile 项目生成速度慢的问题(转)
最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...
- 解决VS2008 开发Windows Mobile 项目生成速度慢的问题
最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...
随机推荐
- 07Mendel's First Law
Problem Figure 2. The probability of any outcome (leaf) in a probability tree diagram is given by th ...
- WAMP不能启动, 一直处于红色图标或者橙色图标的解决办法
WAMP不能启动, 一直处于红色图标(正常启动为绿色吧) 考虑是端口的问题,我找到wamp文件夹中的wamp\bin\apache\apache2.2.22\conf路径下的httpd.conf文件, ...
- 在VMware中设置CentOS7的网络
为了能够使用XShell来管理我们安装好的CentOS7系统,所以我们要先设置CentOS7的网络使其能够联网. 1.选择vmware的编辑,然后点击虚拟网络编辑器 2.点击更改设置(需要有 ...
- Java: FreeMarker的配置和使用
初学什么都不可以忽略的地方就是这个东西的官方网站:http://freemarker.org/.下载或者API都可以参考这里. FreeMarker是什么 非常的简单明了.FreeMarker是一个j ...
- SSO单点登录三种情况的实现方式详解(转载)
单点登录(SSO——Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子系统——百度经验.百度知道.百度文库等 ...
- [毕业设计][期末作业]二手闲置小程序 免费信息发布系统功能源码(小程序+php后台管理)
最近做了一个小程序,主要是二手闲置免费信息发布系统的功能,里面包括了登录,发布商品,商品管理,违规投诉,canva商品海报生成,分享等一些基础的功能,可以说代码都是自己辛辛苦苦写出来的.可作为毕业设计 ...
- SQL Server—— 如何创建定时作业
在做SQL server 管理时,往往需要每日执行定时任务,但是如果每天都去人工执行,非常不方便,而且一般定时操作,都应该是在数据库压力不大时,一般是在夜间.所以我们需要创建定时作业来代替人工的执行定 ...
- c# 调用微信小程序
//微信也不给个c#调用的例子 只好自己造咯:ps:大佬勿喷 1 public string GetWx(string code, string iv, string encryptedData) { ...
- C++并发多线程(一)
并发:两个或者更多的任务同时发生,一个程序同时执行多个独立的任务. 以往计算机 单核CPU 某一个时刻只能执行一个任务 由操作系统调度 每秒钟进行多次所谓的任务切换并发的假象(不是真正的并发),这种切 ...
- 使用RazorGenerator和预编译MVC引擎将Razor视图编译成DLL
Web开发中常常会有跨页面.跨站点.跨项目组的复用模块(界面),最常见的就是如下方所示的Web页面上用于显示登录或用户名的头部模块, 使用ASP.NET MVC开发中,常见的做法是写成部分视图,本文的 ...