
Windows
liuwons
混,也是一种追求
展开
-
关于Visual Studio2010字符集的问题
今天在用Visual Studio写C时,出现了不能正常显示的问题,然后做了个小实验,代码如下: 实验结果:static WCHAR f=L'你'; 这里f采集到的是一个2字节的数据20320('你'的Unicode码),而如果用 static WCHAR f='你'; 采集到的数据是50403(你的GBK码),而显示时如果用的L则正常显示“你”,不用L则不能正常显示。用T原创 2012-04-04 11:15:46 · 22315 阅读 · 3 评论 -
Windows进程间互斥锁
Windows的互斥锁Mutex是可以在进程间使用的。 CreateMutex时可以指定一个mutex名称,此名称可以被其他进程或线程使用。CreateMutex的第二个参数BOOL bInitialOwner表示在创建后是不是立刻获取此锁,相当于立即WaitForSingleObject。 OpenMutex打开一个已经创建了的mutex。 WaitForSingl原创 2014-06-10 17:12:33 · 29937 阅读 · 0 评论 -
Windows下通过写注册表的方式实现程序开机自启动
程序可以读取同目录下的config.ini文件中的配置来实现开机自启动。config.ini文件地格式实例如下:[Main]KeyName = testProcessPath = D:\bin\test.exe其中KeyName字段为写入注册表的表项名称(可以设置为程序名)ProcessPath为程序的完整路径程序的完整源代码如下。regedit原创 2014-05-23 12:32:10 · 22825 阅读 · 0 评论 -
Windows中openProcess函数返回ERROR_ACCESS_DENIED的解决方法
主要是权限不足引起的。需要提升程序的权限。具体提升方式参照以下文章:Windows程序权限提升原创 2014-05-21 11:12:44 · 26386 阅读 · 0 评论 -
为编写的Windows程序提升权限
1.要求以管理员身份运行 在vs工程属性中,Linker ---> Manifest File---> UAC Execution Level,选择requireAdministrator (/level='requireAdministrator')选项 2.在main函数开始时运行以下函数代码:BOOL WINAPI EnablePriv原创 2014-05-21 11:09:27 · 24959 阅读 · 0 评论 -
Windows下获取逻辑cpu数量和cpu核数量
代码可在Windows NT下正常运行具体API说明请参照如下文档:GetLogicalProcessorInformation点击打开链接点击打开链接点击打开链接typedef BOOL (WINAPI *LPFN_GLPI)(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, PDWORD);DWORD CountSet原创 2014-03-26 18:47:14 · 30808 阅读 · 0 评论 -
python调用dll中特定函数的两种方式(ctypes)
1.直接使用函数名,函数名可以用dependency walker等工具查看。import ctypesdll = CTYPES.CDLL("test.dll")res = test(3, 4)2.使用Ordinal,Ordinal可以用dependency walker等工具查看。import ctypesdll = CTYPES.CDLL("test.dll")res =原创 2014-04-18 10:28:51 · 23173 阅读 · 0 评论 -
关于编译后dll中的函数名
msvc在编译dll时,如果函数声明采用__declspec(dllexport) int add(int,int)的形式,dll中的函数名会是?add@@YAHHH@Z这种形式的。 如果使用如下这种声明,dll中的函数名才会和C++中的函数名一致,为add。extern "C"{DLLTEST_API int add(int, int);}原创 2014-04-18 10:23:34 · 20178 阅读 · 0 评论 -
Qt实现Windows远程控制
用Qt实现的Windows平台远程控制软件,包含源代码和编译后可以运行的程序,服务器端(被控端)为进程形式,客户端(主控端)为图形界面程序。客户端在连接时要设置服务器端的ip地址以及要显示的长度和宽度(不能超过服务器端屏幕分辨率)。原创 2014-04-30 23:29:16 · 35942 阅读 · 22 评论 -
Android实现远程控制PC(Android[客户端]+Qt[服务器端])
由于本人没有无线路由器,因此用Win7自带的虚拟wifi让手机上网:Win7虚拟wifi 但是,电脑不在我的房间,因此每天晚上在床上玩完手机还要下床去关电脑,让很懒很懒的本人很不爽,因此自己尝试着做了一个远程控制。 软件客户端运行在Android设备上(我的手机是Android的),服务器端运行在我的Win7本本上。客户端用的是Android平台应用编程,服务器端用的是Qt编写原创 2012-07-24 15:39:45 · 30132 阅读 · 10 评论 -
网络设备通过win7的虚拟wifi连接internet
windows7可以创建虚拟wifi来共享网络连接,过程为: 1.一管理员身份运行cmd 2.创建wlan共享:netsh wlan set hostednetwork mode=allow ssid=mywifi key=tobacco ssid为共享网络连接名称,key为密码 3.打开目前的网络连接,设置共享 4.打开创建的共享网络连接:nets原创 2012-07-18 09:11:53 · 19899 阅读 · 0 评论 -
Windows内存管理
非原创,原出处http://www.cnblogs.com/Kratos/archive/2009/09/09/1563624.html1 介绍Windows 32位 x86 操作系统最多能访问4GB的物理内存。这是因为处理器的寻址总线是32条(我们常说32位),能够访问的存储单位的范围是从0x00000000到0xFFFFFFFF,即4GB。Windows同样允许每个进程拥有自己的4GB转载 2012-04-14 23:42:44 · 19211 阅读 · 0 评论 -
用NASM写DOS16位应用程序
今天用nasm写dos下的.exe十六位应用程序,用nasm -f obj输出OMF格式的obj文件,然后尝试用golink链接,结果不支持omf格式,再用LINK,将OMF转化为COFF时出错,最后还是按照nasm文档上的说明下载了个ALINK,终于成功链接产生16位exe文件,在dosbox中成功运行。原创 2012-04-26 00:34:49 · 20263 阅读 · 0 评论 -
软盘映像文件的格式
最近学习微机原理,编写启动程序汇编代码时要创建虚拟软盘映像文件,利用WinImage或者bochs自带的软盘创建软件来创建映像文件。 想查看下软盘映像文件的格式,利用WinHex打开一个新创建的映像文件,发现文件的十六进制数都是0,只是大小刚好为1.44KB罢了。 这样,完全就可以自己写一个大小为1.44KB的软盘映像文件了。原创 2012-04-25 21:43:00 · 21587 阅读 · 0 评论 -
关于Windows更新窗口内容的问题
Windows中的窗口在特定情况下会由系统进行重绘,如无效区域重新显现时,,会向窗口的处理过程发送VM_PAINT消息,但是,可能还有Windows自己的更新窗口处理,如在下面的代码中,将击键显式地转换为VM_PAINT消息,让窗口过程处理,但是运行的结果却是,击键后窗口没有马上重绘(显示字体没有改变),而是在下次重绘时才改变字体,但是如果改变为一个UpdateWindow()函数时,就会马上改变原创 2012-04-03 00:24:04 · 19673 阅读 · 0 评论 -
用WindowsAPI截屏并转换为RGB格式
在Windows下捕获屏幕图像可以有多重方法,比较简单可以调用第三方库,如Qt的屏幕截屏API就很容易调用。在这里介绍如何用Windows API实现截屏并转换成RGB格式存储。#include //最终f的内存布局为BGRA格式,需要保证buf长度足够(>w*h*4)void ScreenCap(void* buf, int* w, int* h){ HWND h原创 2015-05-13 09:06:43 · 23438 阅读 · 0 评论