· SetCurrentDirectory(),GetCurrentDirectory(),GetModuleFileName()的区别
· win32 api 调用浏览文件 保存文件对话框 以及浏览文件夹对话框
· 使用MiniDumpWriteDump API 来生成程序的Dump
· 技术点集结地
· o
· 手机
· 实现系统小托盘
2012-1-8 19:03:16 阅读13 评论0 82012/01 Jan8
ShellExecute函数原型及参数含义如下:
ShellExecute(
HWND hWnd, //父窗口句柄
LPCSTR lpOperation, //操作类型
LPCSTR lpFile, //要进行操作的文件或路径
LPCSTR lpParameters, //当lpOperation为“explore”时指定要传递的参数,通常设为NULL
LPCSTR lpDirectory, //指定默认目录,通常设为NULL
INT nShowCmd //文件打开的方式,以通常方式还是最大化或最小化显示
)
首先要包含头文件shellapi.h
#include <shellapi.h>
2012-1-8 15:33:42 阅读14 评论0 82012/01 Jan8
2012-1-8 14:22:09 阅读10 评论0 82012/01 Jan8
用于设置程序的目录地址,但EXE文件不会放在这个地方
BOOL SetCurrentDirectory(
LPCTSTR lpPathName // 程序的目录设置到地址
);
得到SetCurrentDirectory()设置的位置,如果没有设置则得到的是当前工程的位置
DWORD GetCurrentDirectory(
DWORD nBufferLength, // 缓冲区大小
LPTSTR lpBuffer // 存放地址的缓冲区
);
得到EXE的位置
DWORD GetModuleFileName(
HMODULE
2012-1-4 17:50:40 阅读8 评论0 42012/01 Jan4
2012-1-2 17:17:53 阅读18 评论0 22012/01 Jan2
整理一下..
2011-11-22 20:16:00 阅读40 评论0 222011/11 Nov22
MiniDumpWriteDump是MS DbgHelp.dll 中一个API, 用于导出当前运行的程序的Dump. 这个dll程序系统中就有, 但是很多软件, 都在自己的安装目录下保存了这个.dll的最新的版本.
为了测试这个API, 参考网上一些资料, 写了一个简单的C++ 程序. 目的是当有异常发生的时候, 自动生成Dump文件供之后的分析. 有了Dump文件, 我们就可以使用WinDBG等调试器来分析异常发生时的情况. 其实这个功能很多软件都有, 比如QQ, 魔兽世界, 等等. 它们在出现了异常的时候会弹出一个对话框, 让用户输入异常发生时的情况, 然后把异常的dump文件用email发回, 供开发者们分析修改bug.
不过有一点, 这里需要程序的调试符号文件(pdb文件). 对于Debug版来说, 是生成的,
2011-10-27 10:40:20 阅读71 评论0 272011/10 Oct27
1.回调函数
回调函数是基于c编程的Windows SDK的技术,不是针对c++的,程序员可以将一个c函数直接作为回调函数,但那时如果试图直接使用c++的成员函数作为回调函数将发生错误,甚至编译就不能通过。
分析原因:
普通的c++成员函数都隐含了一个传递函数作为参数,即“this”指针,c++通过传递一个指向自身的指针给其成员函数从而实现程序函数可以访问c++的数据成员。这也可以理解为什么c++类的多个实例可以共享成员函数但是确有不同的数据成员。由于this指针的作用,使得将一个CALLBACK型的成员函数作为回调函数安装时就会因为隐含的this指针式的函数参数个数不匹配,从而导致回调函数安装失败
解决方案:
一。不使用成员函数,直接使用普通c函数,为了实现在c函数中可以访问类的成员变量,可以使用友
2011-10-11 11:18:47 阅读95 评论0 112011/10 Oct11
*开始前,我说明一下,托盘和任务栏是不一样的概念,想要准确地搜索到自己想要的资料.一定要准确认识概念.另外,提一句: 其实,有空了多翻翻QT_Assistant 你什么都有了.本文中内容可以到: QTdemo.exe-->Desktop-->System Tray找到官方给出的例子.其内容非常完善.把QSystemTray类的用法体现得很透了. ^o^
第一期:
用hello world简单的代码更容易看懂托盘的具体实现,一些细节问题,比如为什么提示消息没有显示在托盘上,如何在tip消息上增加图标等。
#include <QtGui>
class myclass: public QWidget
{
public:
myclass();