GetLastError函数】的更多相关文章

GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置.函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能担保函数已成功执行.只有在函数调用返回一个错误结果时,这个函数指出的错误结果才是有效的.通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问GetLastError:这时能保证获得有效的结果.(来源:百度百科) 在进行windows网络编程时,可以…
在C语言编译中,经常会出现一些系统的错误,这些错误如果在编译的时候不能很好的“预见”,会使系统“崩溃”,常见的捕获错误函数有: errno #include<errno.h> 这个变量是程序默认的参数,并不需要程序员显式定义,但必须声明:extern int errno; 并且需要包含头文件 errno.h perror()原型: #include <stdio.h>void perror(const char *msg);它是基于errno的当前值,在标准出错上产生一条出错信息,…
  错误代码各个位数的意义:GetLastError函数返回值!SetLastError可是设置这个错误代码. 位 31-30 29 28 27-16 15-0 内容 严重性 Micorsoft/ 客户定制 保留 Facility 代码 异常代码 含义 0=成功 1=提示信息 2=警告 3=错误 0=微软定义 1=客户定义代码 0 前256个值有微软保留 Micorsoft/ 客户定制 Windows函数返回值的意义: VOID:这个函数不可能失败! BOOL:FALSE失败:TRUE成功. H…
本文是上一篇“fopen返回0(空指针NULL)且GetLastError是0”的侧面回应.听赶来多么地正确和不容置疑,返回NULL时调用GetLastError来看看报错啊,但当时却返回了0,大家都觉得系统哪里出了大问题.事实上,正如:http://www.runoob.com/cprogramming/c-function-fopen.html ,又http://www.cplusplus.com/reference/cstdio/fopen/ 中所开示的那样,“如果返回NULL请查看err…
最近遇到加载的bmp图片出现失真问题,查找得知需要用SetStretchBltMode函数设置拉伸模式. 函数原型:int SetSTretchBltMode(HDC hdc, int iStretchMode) 参数: hdc:设备环境句柄. LStretchMode:指定拉伸模式.它可以取下列值,这些值的含义如下: BLACKONWHITE:使用消除和现在的像素颜色值进行逻辑AND(与)操作运算.如果该位图是单色位图,那么该模式以牺牲白色像素为代价,保留黑色像素点. COLORONCOLOR…
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信方便易行,应用广泛. 一般情况下,工控机和各智能仪表通过RS485总线进行通信.RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点.每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答. 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活.其二是调用Window…
VC中GetLastError()获取错误信息的使用在VC中编写应用程序时,经常需要涉及到错误处理问题.许多函数调用只用TRUE和FALSE来表明函数的运行结果.一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因.      可问题是,GetLastError()返回的只是一个双字节数值(DWORD).OH,MY GOD!目前Win32的出错编号已经从0排到11031,而这还不是错误编码的全部.因为错误代码还在不断增加.      我想没有人愿意自己去查出错编码…
VC中GetLastError()获取错误信息的使用 在VC中编写应用程序时,经常需要涉及到错误处理问题.许多函数调用只用TRUE和FALSE来表明函数的运行结果.一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因.可问题是,GetLastError()返回的只是一个双字节数值(DWORD).OH,MY GOD!目前Win32的出错编号已经从0排到11031,而这还不是错误编码的全部.因为错误代码还在不断增加.我想没有人愿意自己去查出错编码所对应的错误信息.好在…
函数原型: int MultiByteToWideChar( UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cchMultiByte, LPWSTR lpWideCharStr, int cchWideChar ); 补充:如果ANSI代码页允许在不同的计算机上不相同,甚至在单台计算机上不一样,将会导致数据崩溃.为了代码页一致性,应用程序应该使用Unicode编码,如UTF-8或者UTF-16,而不是使用特殊的代码页,除了早期标…
(一)UpdateAllViews() 与 Invalidate()的区别 UpdateAllViews()是在DOC/VIEW结构中,当一个视图的数据改变后,通知所有视图作相应的改变,和重画毫无关系. Invalidate()是使窗口无效,使系统向其发WM_PAINT消息,使的程序的OnPaint被调用重画客户区. 而UpdateAllViews()是文档与视之间的联系,调用从它会使程序与此文档相关的所有视的UpdateView被调用至于是否重画以及怎么画是由各视的UpdateView来决定的…
原文网址:http://www.pythonschool.com/CPP_JHK/5003.html 获取所在类窗口的句柄 this->m_hwnd; // this是一个指针,指向当前类的实例 主窗口的句柄,获取自身窗口句柄 AfxGetMainWnd()->m_hWnd; // 在主窗口类中,或是子窗口类中,获取主窗口句柄的方法 如:::SendMessage(AfxGetMainWnd()->m_hWnd , WM_MY_DOSOME , 0 ,(LPARAM)i); this-&…
在非MFC环境中如何使控件或者窗口禁用呢?起初是想通过发送消息来实现,但找来找去都木有找到控件禁用的消息(也是是博主木有找到的缘故),所以只能另辟蹊径,使用 EnableWindow这个函数, 该函数的函数功能为:允许/禁止指定的窗口或控件接受鼠标和键盘的输入,当输入被禁止时,窗口不响应鼠标和按键的输入,输入允许时,窗口接受所有的输入. 下面是它的函数原型:BOOL EnableWindow(HWND hWnd,BOOL bEnable): 参数: hWnd:被允许/禁止的窗口句柄.   bEn…
BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境. 原型: BOOL BitBlt( HDC  hdcDest, int  nXDest,  int  nYDest,  int  nWidth,  int  nHeight, HDC  hdcSrc, int  nXSrc,  int  nYSrc, DWORD  dwRop): 参数: hdcDest:指向目标设备环境的句柄. nXDest.nYDest:指定目标矩形区域左上角的X轴和Y…
继上集故事<多字符集(ANSI)和UNICODE及字符串处理方式准则 >,我们现在有一些特殊需求: 有时候我们的字符串是多字符型,我们却需要使用宽字符型:有的时候却恰恰相反. Windows为我们提供了这样的函数来处理这个问题: 1.MultiByteToWideChar 函数功能: 该函数映射一个字符串到一个宽字符 (unicode)的字符串.由该函数映射的字符串没必要是多字节字符组. 函数原型: int MultiByteToWideChar(UINT CodePage, DWORD dw…
在编写驱动程序的时候,常用的一个结构是NTSTATUS,它来表示操作是否成功,但是对于失败的情况它的返回码过多,不可能记住所有的情况,应用层有一个GetLastError函数,根据这个函数的返回值可以通过错误查看器来查看具体的错误原因,但是内核中就没有这么方便了,我之前在网上找资料的时候发现很多人都是把错误码和它的具体原因都列举出来,然后人工进行对照查找,这样很不方便,有没有类似于应用层上错误码查看工具的东西呢?终于皇天不负有心人,我在微软官网上找到了FormatMessage的说明,自己实现了…
BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境. 函数原型 [DllImport("gdi32.dll")] public static extern bool BitBlt(IntPtr hObject, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hObjectSource, int nXSrc, int nYSrc, int dwRop); 参数 hDe…
在写win32的时候我们会用到GetLastError()函数来获取程序错误信息,那我们如何从返回的数字得到错误信息. 这里推荐一个博客,总结了所以返回数字的错误信息: http://blog.csdn.net/ice197983/article/details/614451 我们还可以通过VS自带的工具来查找错误含义:工具 -> 错误查找 ,我们可以在值里输入GetLastError()函数返回的数值来获取错误信息…
位于user32.dll中,可以每隔一段时间执行一段时间执行一件事的时候,可以使用它. 使用定时器,通常告诉Windows一个时间间隔,然后Windows以此时间间隔周期性触发程序. 发送WM_TIMER消息和调用应用程序定义的回调函数.不需要指定定时器时,可以调用对应的KillTimer函数销毁指定的时钟. setTimer创建或设置一个定时器,该函数创建的定时器与Timer控件(定时器控件)效果相同. SetTimer 函数的原型: UINT_PTR SetTimer( HWND hWnd,…
DWORD WINAPI FormatMessage( __in DWORD dwFlags, __in_opt LPCVOID lpSource, __in DWORD dwMessageId, __in DWORD dwLanguageId, __out LPTSTR lpBuffer, __in DWORD nSize, __in_opt va_list *Arguments ); 获取消息字符串. dwFlags [in] 格式话选项,表明lpSource参数的解释方式. 这个参数可以选…
转载:http://www.seacha.com/article.php/knowledge/windows/mfc/2011/0423/335.html VC中GetLastError()获取错误信息的使用 在VC中编写应用程序时,经常需要涉及到错误处理问题.许多函数调用只用TRUE和FALSE来表明函数的运行结果.一旦出现错误,MSDN中往往会指出请用GetLastError()函数VC中GetLastError()获取错误信息的使用 在VC中编写应用程序时,经常需要涉及到错误处理问题.许多…
在非MFC环境中如何使控件或者窗口禁用呢?起初是想通过发送消息来实现,但找来找去都木有找到控件禁用的消息(也是是博主木有找到的缘故),所以只能另辟蹊径,使用 EnableWindow这个函数, 该函数的函数功能为:允许/禁止指定的窗口或控件接受鼠标和键盘的输入,当输入被禁止时,窗口不响应鼠标和按键的输入,输入允许时,窗口接受所有的输入. 下面是它的函数原型:BOOL EnableWindow(HWND hWnd,BOOL bEnable): 参数: hWnd:被允许/禁止的窗口句柄.   bEn…
常用的处理窗体的API函数如下(注意:API函数必须放在窗体中...): 使用C#语言,要引用DllImport,必须要添加using System.Runtime.InteropServices命名空间 (1)获得当前前台窗体句柄 [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr GetForegroundWindow(); 返回值类型…
摘自:http://blog.csdn.net/yjkwf/article/details/5281207 CWnd::MoveWindow 详解 2010-02-02 16:08 3432人阅读 评论(0) 收藏 举报 mfc CWnd::MoveWindow void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE ); void MoveWindow( LPCRECT lpRect, BOOL…
C++用有多种方法来分配及释放内存,下面是一些经常使用的内存分配及释放函数 现在我还是一个技术小白,一般用到也指示 new+delete 和 malloc和free 其他的也是在学习中看到,下面的文字来之“笨小鸟”的文章 连接地址:http://blog.csdn.net/wxq1987525/article/details/7462446 文章详细内容 一.关于内存 1.内存分配方式 内存分配方式有三种: (1)从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间…
void Ascii2UnicodeLen(char*src,int len,unsigned short*tar) { unsigned int word_cnt; word_cnt=MultiByteToWideChar(0,0,(unsigned char*)src,len,tar,len); tar[word_cnt]=0; } void Ascii2Unicode(char*src,unsigned short*tar) { unsigned int n; n=MultiByteToW…
BOOL BluetoothFindRadioClose( HBLUETOOTH_RADIO_FIND hFind );关闭与查找蓝牙无线电相关的枚举句柄.参数: hFind Enumeration handle to close, obtained with a previous call to the BluetoothFindFirstRadio function. 要关闭的枚举句柄,使用之前对BluetoothFindFirstRadio函数的调用获得. 返回值: Returns TRU…
BOOL BluetoothFindNextRadio( HBLUETOOTH_RADIO_FIND hFind, HANDLE* phRadio ); BluetoothFindNextRadio找到下一个蓝牙设备. 参数: hFind Handle returned by a previous call to the BluetoothFindFirstRadio function.     由先前对BluetoothFindFirstRadio函数的调用返回的句柄. phRadio On…
HBLUETOOTH_RADIO_FIND BluetoothFindFirstRadio( BLUETOOTH_FIND_RADIO_PARAMS* pbtfrp, HANDLE* phRadio ); BluetoothFindFirstRadio函数开始枚举本地蓝牙无线电. 参数: pbtfrp Pointer to a BLUETOOTH_FIND_RADIO_PARAMS structure. The dwSize member of the BLUETOOTH_FIND_RADIO_…
http://www.groad.net/bbs/thread-8253-1-1.html 当你在命令行里工作时,经常会输入 Ctrl-C 这个组合键以停止程序的运行.SetConsoleCtrlHandler() 函数可以让一个或多个特定函数在接收到 Ctrl-C, Ctrl-break 这些与控制台有关的信号时得到执行. BOOL WINAPI SetConsoleCtrlHandler( _In_opt_  PHANDLER_ROUTINE HandlerRoutine, _In_    …
//声明:SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: Integer; {大小}uFlags: UINT {选项}): BOOL;//hWndInsertAfter 参数可选值:HWND_TOP = 0; {在前面}HWND_BOTTOM = 1; {在后面}HWND_TOPMOST = HWND(-1); {在前面, 位于任何顶部窗口的前面}HWND_NOT…