前言 在开发应用程序时,通常只让程序运行一个实例.所以,就要判断程序是否已经运行. 下面是我自己在项目中使用到,封装好的帮助类.有 普通的 C# 应用程序 和 Windows CE 和 Windows Mobile 应用程序使用的方法. 主要是通过 System.Threading.Mutex 类 和 Win32 API 来实现,下面就是各自的代码,调用示例在最后面. 普通 C# 应用程序 主要是 Windows 窗体应用程序和控制台程序. 1. 使用 System.Threading.Mute…
JNA 调用 dll 库时,保错: ///////////////// 通过 JNA 引入 DLL 库 //////////// /** * ID_FprCap.dll 负责指纹的采集, 指纹仪的初始化,设置等等 */ public interface ID_FprCap extends StdCallLibrary { ID_Fpr fpr = ID_Fpr.INSTANCE ; ID_FprCap fprCap = (ID_FprCap)Native.loadLibrary("ID_FprC…
第一次接触win32api,刚开始的时候有点迷迷糊糊的. Windows API 就是windows应用程序接口. win api向上就是windows应用程序,向下就是windows操作系统核心. 刚开始的时候都是自己一步一步摸索,但是网上的东西都是一些 [DllImport("user32.dll")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 诸如此类的,不知道…
09 年翻译的东西. 原文见:  http://www.nobugs.org/developer/win32/debug_crt_heap.html 在DeviceStudio的Debug编译模式下, crt中的堆内存分配操作----包括malloc()和free()----使用一个特殊的, 便于调试的版本, 我们称之为crt debug堆(译注: 下面简称CDH). 相比于电光火石(译注: 原文blazingly, 我想不出更确切的说法)的运行效率, 调试版本更关注对于堆错误的定位, 它通过以…
0x00 样本说明 分析样本是被0b500d25f645c0b25532c1e3c9741667的样本感染得到.感染前的文件是Tcpview.exe,一款windows网络连接查看工具. 感染前后文件对比图示如下: 感染前 感染后 文件大小 106496 字节 818688 字节 文件md5 4B6B70F4A199CF3EAC1554B08804BC4F 041D85ECABF5F2E8366C5E0FDCB705F3 文件图标     分析样本的报毒情况如下: 杀软类型 病毒名 nod32…
引言:我们使用cocos2d-x引擎制作了一款飞行射击游戏,其中创新性地融入了手势识别功能.但是我们在移植过程中遇到了很多的问题,同时也发现网上的资料少而不全.所以在项目行将结束的时候,我们特地写了这篇文章来完整记录我们整个移植的过程,纪念我们项目的成功完成,更以此来表达对帮助过我们的人的感谢.移植过程中我们在网上得到了很多帮助,更要感谢黄杨学长在最后时刻帮助我们突破难关! 0.开发平台 系统:win8 profession 64bit IDE:vs2012 rtm, eclipse cocos…
今天使用Git在命令行下更新代码遇到了问题,起初觉得是自己安装某软件导致冲突,从网上搜索了一下找到类似问题,成功解决问题. 错误信息如下: E:\storm-sql>git pull origin joeywen 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x68570000, RegionSize 0x2F0000, State…
开发大型GUI界面程序MFC当仁不让,但如果是开发图形应用程序,并不需要大规模界面控件,没有必要链接庞大的MFC库,直接使用platform sdk会很麻烦,这时ATL中的关于Windows的封装就是最好的选择 ATL的窗口架构是这样的—— [两个底层封装类] CWindow 窗口句柄和API封装类 只封装了hWnd窗口句柄和与之有关的WinAPI,CWindow和hWnd可以方便地进行转换. CMessageMap 消息映射接口 该基类有一个待实现的函数ProcessWindowMessage…
Win32 OpenProcess打开进程失败,返回5无权限操作,相信你会碰到这样的事,在IDE中可以,单独却不可以了,其实这时就需要提权了,否则是无法打开的,OpenProcess提权至Debug即可,不说多的,直接分享代码 //提升权限为DEBUG,处理GetLastError返回5 无权限操作错误 BOOL EnableDebugPrivilege(){ HANDLE hToken; BOOL fOk=FALSE; if(OpenProcessToken(GetCurrentProcess…
1. #include <Psapi.h> #pragma comment(lib, "Psapi.lib") DWORD GetProcIDFromName(LPCTSTR lpName) { DWORD aProcId[], dwProcCnt, dwModCnt; HMODULE hMod; TCHAR szPath[MAX_PATH]; //枚举出所有进程ID if (!EnumProcesses(aProcId, sizeof(aProcId), &dwP…