源码收集
cosmoslife
多媒体编程、网络编程、系统编程、网络安全编程
展开
-
判定当前系统为32位还是64位版本
BOOL IsWow64(){ typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL bIsWow64 = FALSE; fnIsWow64Process = (LPFN_ISWOW64PROCESS)G原创 2012-12-07 18:13:54 · 520 阅读 · 0 评论 -
OutputDebugString实现变参输入
void OutputDebugString(const char *format, ...){va_list args;#define MAXREPORTMESSAGESIZE 513char message [MAXREPORTMESSAGESIZE];va_start(args, format);_vsnprintf(message, MAXREPORT原创 2013-07-21 23:24:21 · 1005 阅读 · 0 评论 -
FindResource、LoadResource、LockResource资源相关的编程示例
现在很多的EXE文件都是自带驱动,在程序运行时直接将驱动文件释放出来并加载运行,下面给出一个释放驱动资源的示例函数,今天看到了这样的代码记录下来方便日后拿来使用。使用时只需要修改红色字体部分,改成自己的即可,这里说的是EXE、DLL等文件都可以采用这样的方式来释放。//释放资源BOOL Release(){//查找资源文件HRSRC res = FindResource(N原创 2013-07-22 21:16:57 · 4199 阅读 · 0 评论 -
关于剪切板操作编程
//下面的代码将"Hello World"字符串复制到剪切板中,代码执行完后可在其它地址进行粘贴操作,看到"Hello World"#include void CopyStringClipboard(HWND hwnd,char * str) //保存字符串至剪贴板:{HGLOBAL hClip; //定义一个HGLOBAL句柄变量用来指向分配的内存块if (Ope原创 2013-07-21 20:46:23 · 812 阅读 · 1 评论 -
利用SetUnhandledExceptionFilter机制实现程序异常后自动重启
利用SetUnhandledExceptionFilter机制实现程序异常后自动重启,我们希望我们的程序在异常崩溃结束后还可以自动重启。利用下面的代码就可以实现我们的程序异常结束后再次自动重新启动.要用下面的头文件和LIB库:#include #pragma comment(lib, "dbghelp.lib")先在主程序注册代码如下:SetUnha原创 2013-07-03 10:59:32 · 2258 阅读 · 0 评论 -
利用SetUnhandledExceptionFilter获取程序异常时的DUMP文件
利用SetUnhandledExceptionFilter实现程序异常时获取DUMP文件来分析程序异常原因,现在很多的软件都是通过这样的方法来收集异常,只不过这里少了一步向服务器传输我们的程序产生的DUMP文件,这种DUMP文件产生后其实会通过网络向指定的服务器传输。这样方便开发都收集程序目前存在的BUG。下面是一控制台程序,直接COPY代码,编译运行,我这里用了两种方法使程序异常崩溃,从而产原创 2013-07-03 10:51:39 · 1819 阅读 · 0 评论 -
枚举系统当前进程信息
//功能:枚举系统当前进程信息并将枚举到的进程名与进程ID打印出来#include #include int main(){PROCESSENTRY32 pe;HANDLE snap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );pe.dwSize = sizeof(pe);Process原创 2013-07-17 19:49:55 · 756 阅读 · 0 评论 -
描端口代码
int main(){ WSADATA wsData; SOCKET sock = INVALID_SOCKET; struct sockaddr_in addr; char Ip[16] = {0}; u_short Prot = 16999; char data[2048] = { 0 }; int nRel =原创 2012-12-13 14:38:48 · 602 阅读 · 0 评论 -
////////////////////////////////////重启计算机////////////////////////////////////
////////////////////////////////////重启计算机////////////////////////////////////int Reboot(){ HANDLE hToken; TOKEN_PRIVILEGES tkp; // Get a token for this process. if (!OpenP原创 2012-12-10 12:46:26 · 574 阅读 · 0 评论 -
使用汇编实现memset和memcpy感觉汇编的强大
在VS2010的安装目录下如:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\crt\src\intel里面包含了memcpy.asmmemset.asm等等许多的汇编源文件=============汇编实现memset和memcpy================================原创 2013-09-10 22:48:41 · 5989 阅读 · 1 评论