- 博客(25)
- 资源 (62)
- 收藏
- 关注
原创 控制台程序使用GDI+
由于需要得到图片的宽、高以及所占的字节数大小,所以上网百度了一下,发现GDI+可以很简单的满足我的功能。以下结合自己的程序,介绍下GDI+的使用方法。1、包含GDI+的头文件、库文件以及命名空间1包含GDI+的头文件、库文件以及命名空间#define ULONG_PTR unsigned long#include using namespace Gdiplus;#pragma
2016-12-29 10:33:01 1187
原创 为控件添加Tip提示功能CToolTipCtrl
为控件增加Tip提示功能,首要的工作是创建一个CToolTipCtrl控件,这是提示信息的载体,因为提示信息是要显示在此控件上的。MFC上说的很清楚,创建CToolTipCtrl控件要分为两步:You construct aCToolTipCtrl in two steps. First, call the constructor to construct theCToolTipCtr
2016-12-25 13:17:37 2377
原创 为图片控件加载位图+为鼠标加载图标
1、为图片控件加载位图(bmp格式):这里只讲动态加载情况。首先都要导入BMP资源到程序里面;其次添加代码动态加载:1动态加载:1)HBITMAP hBitmap=::LoadBitmap(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP3)); m_BitmapStatic.SetBitmap(hBitmap); //
2016-12-24 19:57:49 605
原创 SendInput模拟鼠标消息的发送
1实例://获取一个对话框dialog的句柄 HWND hWnd=::FindWindow(_T("#32770"),_T("MsgTest")); if (hWnd!=NULL) { ::ShowWindow(hWnd,SW_SHOWNORMAL); ::SetForegroundWindow(hWnd); //获取dialog上一个Button按钮的句柄 HWND h
2016-12-23 15:05:33 6727
原创 SendInput模拟键盘事件控制暴风影音的播放和停止
1This function synthesizes keystrokes, stylus and mouse motions, and button clicks.UINT SendInput( UINT nInputs, LPINPUT pInputs, int cbSize ); ParametersnInputs Specifies how many str
2016-12-23 14:37:18 1003
转载 利用Keybd_event()函数模拟键盘输入
一下来自VC++驿站:点击打开VC++驿站链接1代码实现:HWND hWnd=::FindWindow(_T("Notepad"),_T("新建文本文档.txt - 记事本")); if (hWnd!=NULL) { ::ShowWindow(hWnd,SW_SHOWNORMAL); ::SetForegroundWindow(hWnd); BOOL bToggle
2016-12-23 13:50:44 4869
原创 GetKeyState函数详解
11函数原型:SHORT GetKeyState( int nVirtKey ); 函数只有一个参数,即虚拟键码。返回值为SHORT类型,即短整型。GetKeyState函数是用来获取指定的虚拟键码的按键的状态。得到的状态表示按键是按下了还是弹起的,还是状态切换(大小写状态、数字键盘锁状态)。一、判断按键是否被按下。通过高位来进行判断,高位为1表示按键按下,高位为0表示按键
2016-12-23 12:57:59 30776 2
原创 VC++鼠标、键盘的模拟操作
一、鼠标事件模拟使用的函数是mouse_event()函数,对于鼠标事件我们应该确定两个问题:1.鼠标点击了哪个键:左键、中键、右键? 2.鼠标点击的位置。mouse_event()函数常常配合SetCursorPos();函数来使用。mouse_event():1234567VOID mou
2016-12-23 10:15:33 5597
转载 Windows API详解——GetWindowThreadProcessId 获得窗口所在进程ID和线程ID
在得到窗口句柄后我们可以通过GetWindowThreadProcessId这个函数来获得窗口所属进程ID和线程ID,从而判断创建窗口的进程和线程。函数原型:DWORD GetWindowThreadProcessId(HWND hWnd,LPDWORD lpdwProcessId);参数说明:hWnd:传入的窗口句柄;lpdwProcessId:返回的进程ID地址
2016-12-22 11:03:30 19070
原创 寻找包含一个点的最小窗口:WindowFromPoint
1搜寻包含一个点的最小窗口/************************************************************************// SmallestWindowFromPoint// Find the smallest window still containing the point// WindowFromPoint returns th
2016-12-22 10:51:17 601
原创 SetROP2设置绘图模式
一、函数原型:int SetROP2( HDC hdc, int fnDrawMode);二、返回值:函数调用成功后返回调用前的模式,调用失败则返回零。三、参数:1、R2_BLACK//Pixel is always black. 所有绘制出来的像素为黑色2、R2_WHITE//Pixel is always white. 所有绘制出来的像素为白色
2016-12-21 15:24:39 2307
转载 理解SetCapture、ReleaseCapture、GetCapture
正常情况下,鼠标指针位于哪个窗口区域内,鼠标消息就自动发给哪个窗口。如果调用了SetCapture,之后无论鼠标的位置在哪,鼠标消息都发给指定的这个窗口,直到调用ReleaseCapture或者调用SetCapture设置另一个窗口为止。很多时候,窗口或控件在鼠标按下后,需要知道鼠标移动和放开的情况,例如按钮在鼠标按下后会变为“按下”状态,鼠标移出按钮区域时“弹起”,所以按钮控件需要在鼠标按下
2016-12-21 14:33:30 1135
转载 windows程序窗口层次Z-order,顶层窗口,前台窗口,后台窗口,兄弟窗口,活动窗口
窗口Z次序:表明了重叠窗口堆中窗口的位置,这个窗口堆是按照一个假象的轴定位的,这个轴是从屏幕向外伸展的Z轴,上面的窗口覆盖下面的窗口。Windows系统管理三个独立的Z次序----一个用于顶层窗口、一个用于兄弟窗口、还有一个用于最顶层窗口,最顶层窗口覆盖其他非最顶层窗口,而不管它是不是活动窗口或是前台窗口。应用程序通过设置WS_EX_TOPMOST风格创建最顶层窗口。一般情况下,W
2016-12-21 13:29:57 12646
转载 RegisterWindowMessage与BroadcastSystemMessage
文章来自:点击打开链接和点击打开链接1、在WNDOWS中消息分系统消息和自定义消息。系统消息定义从0到0x3FF,使用0x400到0x7FFF定义自己的消息。Windows把0x400定义为WM_USER。如果想定义自己的一个消息,可以在WM_USER上加上一个值:#define WM_CONTROLPRINT WM_USER+1001另一种自定义窗口消息的方法是用Regi
2016-12-20 14:20:45 1740
原创 程序只运行一个实例(五)
全局变量共享节法:11、定义共享节:#pragma data_seg("Shared")HWND hPreWnd = NULL;#pragma data_seg()#pragma comment(linker, "/Section:Shared,RWS")22、利用共享节进行判断:if (hPreWnd == NULL) { hPreWnd = m_hWnd;} el
2016-12-20 11:03:59 480
转载 dll和exe的共享节------多进程共享dll/exe全局变量
我们都知道同一个应用程序的多个实例之间并不会影响各自的变量,虽然他们的地址空间都是被该应用程序的映像内的物理存储器所提交,他们的数据和代码都是指向了该应用程序的映像,但是他们还是不会影响各自的变量,因为采取了copy-on-write机制,当有一个实例去修改共享的那个数据区的时候,那么操作系统会另外分配一个内存块,该内存块就是存放这个实例修改的数据,所以并不会影响其他的应用程序实例。那么可
2016-12-20 10:57:09 1545
原创 程序只运行一个实例(四)
采用Mutex+FindWindow方法来实现:1TCHAR str[]=_T("TESTAPP"); HANDLE hdle=NULL; hdle=CreateMutex(NULL,FALSE,str); if (hdle!=NULL&&(GetLastError()==ERROR_ALREADY_EXISTS)) { AfxMessageBox(_T("已经运行一个实例"))
2016-12-20 10:12:41 562
原创 程序只运行一个实例(三)
采用 SetProp()设置窗口属性,并用EnumWindows()进行窗口的遍历:11、加入全局变量的定义及枚举窗口函数:TCHAR g_szPropName[] = _T("{12AA5160-5215-435b-AE3C-60C9E65615CE}");HANDLE g_hValue = (HANDLE)9527;BOOL CALLBACK EnumWndProc(HWND h
2016-12-19 16:26:30 441
原创 程序只运行一个实例(二)
通过 FindWindow 进行窗口的查找,若发现窗口已经存在则说明已经运行过一个实例,并将其窗口激活:HWND hWnd = ::FindWindow(_T("#32770"), _T("Test"));if (hWnd != NULL) { AfxMessageBox(_T("已经有一个实例正在运行中……")); ::ShowWindow(hWnd, SW_NORMAL); ::S
2016-12-19 15:35:40 421
原创 程序只运行一个实例(一)
使用互斥体方法:hMutex=CreateMutex(NULL,FALSE,"DevStateMSGAPP"); if (hMutex && (GetLastError() == ERROR_ALREADY_EXISTS)) { CloseHandle(hMutex); hMutex = NULL; AfxMessageBox(_T("已经有一个实例正在运行中……"));
2016-12-19 14:19:09 631
原创 VC++进行窗口枚举
借鉴内容来自VC++驿站:VC驿站①、使用 GetWindow 进行窗口枚举:This function retrieves the handle to a window that has the specified relationship to the specified window. HWND GetWindow( HWND hWnd, UINT uCm
2016-12-19 10:13:11 2982 1
原创 单文档中其它类反调视图类中函数的方法
一个单文档框架的程序,包含这几个类:CServMgrDoc、CServMgrView 、CServMgrApp、 CMainFrame。在视图类中通过右击产生一个对话框窗口,并将此对话框窗口关联一个类:CTFDS2TDlg。 现在ServMgrView.cpp中有一个消息映射函数OnRRefresh(),起到对视图进行刷新的功能,我想实现的功能是:点击TFDS2TDlg对话框上的 “X”
2016-12-14 10:00:59 424
原创 解决ORA-00020:maximum number of processes (150) exceeded 错误
问题原因:对于数据库的进程数超过最大值,只有资源打开之后,没有及时的关闭,或者说资源打开之后不正常的关闭界面造成数据库中的process处于inactive,没有释放,需要修改数据库的进程数据。解决方法:一、更改最大连接数有三种方法:1、运行cmd 1)sqlplus/nolog 2)conn sys/system@tfds as sysdba 3)alter
2016-12-04 10:24:45 7131
原创 OnOK()与OnCancel()
首先OnOK是对ID_OK的响应, OnCancel是对IDCANCEL的响应. 前者对应键盘的Enter, 后者对应Esc.MFC:1、Called when the user clicks the OK button (the button with an ID ofIDOK).2、The framework calls this member function when
2016-12-02 11:21:10 11154 1
原创 使用WM_SETTEXT消息改变程序框架的标题
1.在MainFrm.h中声明消息响应函数:afx_msg LRESULT OnSetText( WPARAM wParam, LPARAM lParam);2.在MainFrm.cpp中建立消息WM_SETTEXT和响应函数OnSetText的映射: BEGIN_MESSAGE_MAP
2016-12-01 15:24:10 2292
QLocalServer_QLocalSocket.rar
2020-02-18
opencv2.4.4库(.h/.lib/.dll)
2019-02-22
qt基于libev的多线程服务端
2018-10-31
Vs2010 + QT4.8.6 安装文件及配置详解
2018-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人