Wince 启动程序并最小化
为什么80%的码农都做不了架构师?>>>
[DllImport("coredll.dll", EntryPoint = "ShowWindow", CharSet = CharSet.Auto)]
public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);
[DllImport("coredll.dll", EntryPoint = "FindWindowW", SetLastError = true)]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
FindWindow(null, this.Text)获得当前窗口句柄
ShowWindow(FindWindow(null, this.Text), 6);
ShowWindow(IntPtr hwnd, int nCmdShow)的使用:
函数功能:该函数设置指定窗口的显示状态。
函数原型:BOOL ShowWindow(HWND hWnd,int nCmdShow);
参数:
hWnd:窗口句柄。
nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。在随后的调用中,该参数可以为下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。
SW_MIOE:隐藏窗口并激活其他窗口。
SW_MAXIMIZE:最大化指定的窗口。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。
SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。
SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。
SW_SHOWMAXIMIZED:激活窗口并将其最大化。
SW_SHOWMINIMIZED:激活窗口并将其最小化。
SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然维持激活状态。
SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNOMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。
返回值:如果窗口以前可见,则返回值为非零。如果窗口以前被隐藏,则返回值为零。
备注:应用程序第一次调用ShowWindow时,应该使用WinMain函数的nCmdshow参数作为它的nCmdShow参数。在随后调用ShowWindow函数时,必须使用列表中的一个给定值,而不是由WinMain函数的nCmdSHow参数指定的值。
正如在nCmdShow参数中声明的,如果调用应用程序的程序使用了在STARTUPINFO结构中指定的信息来显示窗口,则在第一次调用ShowWindow函数时nCmdShow参数就被忽略。在这种情况下,ShowWindow函数使用STARTUPINFO结构中的信息来显示窗口。在随后的调用中,应用程序必须调用ShowWindow 函数(将其中nCmdShow参数设为SW_SHOWDEFAULT)来使用由程序调用该应用程序时提供的启动信息。这个处理在下列情况下发生:
应用程序通过调用带WS_VISIBLE标志的函数来创建它们的主窗口函数;
应用程序通过调用清除了WS_VISIBLE标志的CteateWindow函数来创建主窗口函数,并且随后调用带SW_SHOW标志的ShowWindow函数来显示窗口;
Windows CE:nCmdShow参数不支持下列值:
SW_MAXIMINZE;SW_MINIMIZE;SW_RESTORE;SW_SHOWDEFAULT
SW_SHOWMAXIMIZED;SW_SHOWMINIMIZED;SW_SHOWMININOACTIVATE
速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;头文件:winuw库文件:user32.lib。
另外:
{$EXTERNALSYM SW_HIDE}
SW_HIDE = 0;
{$EXTERNALSYM SW_SHOWNORMAL}
SW_SHOWNORMAL = 1;
{$EXTERNALSYM SW_NORMAL}
SW_NORMAL = 1;
{$EXTERNALSYM SW_SHOWMINIMIZED}
SW_SHOWMINIMIZED = 2;
{$EXTERNALSYM SW_SHOWMAXIMIZED}
SW_SHOWMAXIMIZED = 3;
{$EXTERNALSYM SW_MAXIMIZE}
SW_MAXIMIZE = 3;
{$EXTERNALSYM SW_SHOWNOACTIVATE}
SW_SHOWNOACTIVATE = 4;
{$EXTERNALSYM SW_SHOW}
SW_SHOW = 5;
{$EXTERNALSYM SW_MINIMIZE}
SW_MINIMIZE = 6;
{$EXTERNALSYM SW_SHOWMINNOACTIVE}
SW_SHOWMINNOACTIVE = 7;
{$EXTERNALSYM SW_SHOWNA}
SW_SHOWNA = 8;
{$EXTERNALSYM SW_RESTORE}
SW_RESTORE = 9;
{$EXTERNALSYM SW_SHOWDEFAULT}
SW_SHOWDEFAULT = 10;
{$EXTERNALSYM SW_MAX}
SW_MAX = 10;
获取开机时间和当前时间差:
int result = Environment.TickCount & Int32.MaxValue;
DateTime dt = IskootUtils.GetChatDateTime(result);
DateTime dt0 = DateTime.FromFileTime(result);
DateTime dt1 = System.DateTime.Now;
TimeSpan ss = dt1 - dt0;
double d3 = ss.TotalSeconds;
获取开机信息
[DllImport("coredll.dll")]
public extern static bool CeRunAppAtEvent(string AppName,int WhichEvent);
int NOTIFICATION_EVENT_RS232_DETECTED = 9;
private bool bRet;
public void Activate()
{
string AppPath= "\\windows\\notes.exe";
try
{
bRet = CeRunAppAtEvent(AppPath, NOTIFICATION_EVENT_RS232_DETECTED);
}
catch
{
MessageBox.Show("Error");
}
}
Public Const NOTIFICATION_EVENT_NONE = 0
Public Const NOTIFICATION_EVENT_TIME_CHANGE = 1
Public Const NOTIFICATION_EVENT_SYNC_END = 2
Public Const NOTIFICATION_EVENT_ON_AC_POWER = 3
Public Const NOTIFICATION_EVENT_OFF_AC_POWER = 4
Public Const NOTIFICATION_EVENT_NET_CONNECT = 5
Public Const NOTIFICATION_EVENT_NET_DISCONNECT = 6
Public Const NOTIFICATION_EVENT_DEVICE_CHANGE = 7
Public Const NOTIFICATION_EVENT_IR_DISCOVERED = 8
Public Const NOTIFICATION_EVENT_RS232_DETECTED = 9
Public Const NOTIFICATION_EVENT_RESTORE_END = 10
Public Const NOTIFICATION_EVENT_WAKEUP = 11
Public Const NOTIFICATION_EVENT_TZ_CHANGE = 12
转载于:https://my.oschina.net/jon/blog/182075
Wince 启动程序并最小化相关推荐
- 批处理 窗口最小化 java_如何让批处理程序启动的时候最小化
如何让批处理程序启动的时候最小化 更新时间:2007年02月28日 00:00:00 作者: 让批处理程序启动的时候最小化的实现代码,其实大家可以通过vbs隐藏bat的运行更好. 批处理隐藏运行 ...
- MFC:怎么将程序窗口最小化到系统托盘
(一)原理 1.最小化的原理:首先要将窗口隐藏,然后在右下角绘制图标. 2.恢复的原理:将窗口显示,再将托盘中的图片删除. (二)程序实现 1.自定义消息WM_SHOWTASK: #define WM ...
- dock模拟macos教程_如何设置macOS应用程序以最小化其Dock图标
dock模拟macos教程 When you minimize a window in macOS, it goes to the right edge of your Dock by default ...
- 单纯形法python程序_Python-linprog最小化误差单纯形法
我在用scipy.optimize.linprog使用单纯形法计算最小化的库.我有两种情况下出错: "值错误:单纯形法的第1阶段未能找到可行的解决方案.伪目标函数的计算结果为3.1e-12, ...
- 程序最小化后释放了很多的内存的原因
程序最小化后释放了很多的内存的原因 http://soartomato.iteye.com/blog/726135 博客分类: expr Windows.net应用服务器虚拟机软件测试 偶然发现程序最 ...
- VC++:如何将程序最小化到托盘
转自:http://qzone.qq.com/blog/412405871-1211101395 一.托盘简介 所谓的"托盘",在Windows系统界面中,指的就是下面任务条右侧, ...
- VC实现将程序最小化到托盘
一.托盘简介 所谓的"托盘",在Windows系统 界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分.在程序最小化或挂起时,但有不希望 ...
- unity程序最小化,隐藏桌面和任务栏
Windows系统unity程序最小化,隐藏桌面和任务栏 [DllImport("user32.dll")] public static extern bool ShowWindo ...
- win10程序最小化后任务栏没有显示的解决方法
通常情况下我们会在电脑打开很多应用程序,当我们暂时不需要使用的时候我们会将它最小化,最小化后会以缩略图的形式出现在任务栏中,等我们有需要的时候再打开就行.但是今天用电脑时发现将程序最小化之后任务栏中却 ...
最新文章
- 从搜索到AI,成为“小百度”的搜狗,没有新故事
- 15条走红网络的手机摄影技巧
- 2018.9.10.Matlab实验二:Matlab基本运算
- 嵌入式wifi 芯片 推荐_人工智能对汽车芯片设计的影响
- 小米这个系列绝了!7款之后再添新机,完全分不清
- python socket 主动断开_python之使用ctrl+c断开多线程(TcpSocketServer连接)出现端口占用的情况...
- 学会这6个强大的CSS选择器,将真正帮你写出干净的CSS代码!
- 如何在面试中发现优秀程序员
- C# 创建XML文档
- MSDN MTBETA
- 软件工程英文参考文献(优秀范文105个)
- Knowledge Tracing: A Survey阅读笔记
- 基于Android的家庭医生app
- python floor是什么意思_简单介绍Python中的floor()方法
- Java简单雷电游戏代码
- 微信小程序弹窗滚动穿透问题
- http状态码大全(HTTP Status Code)
- linux命令:find、打包解包、vi编辑器、用户权限
- 2020智慧树答案python程序设计_2020年智慧树Python程序设计答案章节期末答案
- 细小零件、产品边缘或曲面的无接触测厚技术研究
热门文章
- mysql 指定日期条件求和_如何在mysql中按每个日期对字段进行求和-问答-阿里云开发者社区-阿里云...
- 高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术
- 如何使用RS-232发射器和接收器?
- RS-232 Receiver
- 【 FPGA 】FIR滤波器之 Hilbert 变换的实现
- 分享五个你应该了解的宣言
- ruby File类
- 扩展JavaScript的时候,千万要保留其原来的所有功能
- pyhon 数据类型转换函数
- [MySQL FAQ]系列 -- 为何innodb表select count(*)很慢