李sir_Blog

博客园 首页 联系 订阅 管理

随笔分类 -  vc++

上一页 1 2 3 4 5 下一页

摘要:听过无数次不要TerminateThread,只是工作中常用,貌似也没有什么问题。今天在高强度测试中发现了一个不可原谅的错误。参看下面的例子DWORD __stdcall mythread(void* ){ while( true ) { char* p = new char[1024]; delete p; }}int _tmain(int argc, _TCHAR* argv[]){ HANDLE h = CreateThread(NULL, 0, mythread, NULL, 0, NULL); Sleep(1000); TerminateThread(h, 0); h = NULL; 阅读全文
posted @ 2011-01-24 10:21 李sir 阅读(906) 评论(0) 推荐(0) 编辑

摘要:大家都知道设置WINDOWS桌面墙纸的WIN32 API是SystemParametersInfo, 使用SPI_SETDESKWALLPAPER参数便能设置墙纸:  ::SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\ABitmap.bmp", SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE);  但问题并没有解决,因为这个WIN32 API有很大的局限性  1. 无法把jpeg, gif等其他非位图格式的图片设为墙纸。  2. 无法调整墙纸的式样,即无法设置墙纸为居中,平铺或拉伸。(当然我们可以通过 阅读全文
posted @ 2011-01-17 16:04 李sir 阅读(1379) 评论(0) 推荐(0) 编辑

摘要://return CDialog::OnEraseBkgnd(pDC);return TRUE;}接下来是在WM_PAINT的消息处理函数OnPaint()中添加代码。由于当背景位图比较大时,进行区域处理比较耗时,所以只在启动时进行一次处理。一种方法是OnInitDialog()处理,但这样会在从启动程序到窗口出现有相当的延迟,易引起程序尚未启动的误解。再一种方法就是在OnPaint()处理,但为了避免重复处理,可以加上一个判断标志。以下是OnPaint()的代码,正体为AppWizard生成,粗体为自己添加内容。void CTransDlg::OnPaint() {if (IsIconic( 阅读全文
posted @ 2011-01-13 13:53 李sir 阅读(918) 评论(0) 推荐(0) 编辑

摘要:随着Microsoft凭借Windows在操作系统上取得的巨大成绩,Windows用户界面也日益成为业界标准。统一的界面给广大用户对应用软件的学习与使用带来了很大方便。但每天都面对同一副面孔,日久天长难免会产生一些厌倦,开发一些“离经叛道”,一改Windows应用程序千篇一律的“标准”界面,一定会给你带来一种清新的感觉。标准Windows应用程序窗口一般为带有标题栏的浅灰色矩形外观,因而“异形”对话框/窗口也主要是颜色与外形上动手脚。1:改变背景颜色 改变对话框(窗口)的背景颜色是最简单的改变Windows应用程序外观的方法,根据Windows创建与管理机理,一般有两种方法。一种是处理WM_C 阅读全文
posted @ 2011-01-13 13:51 李sir 阅读(1042) 评论(0) 推荐(0) 编辑

摘要:CreateIC()和CreateDC()都获取设备描述表句柄,但用CreateDC()获取的能够进行绘画,而用CreateIC()获取的设备描述表,你却不能用它往设备上写东西,只能查询获取你所要的信息。测试代码如下: #includewindows.hLRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow){staticTCHARszAppName[]=TEXT("HelloWin 阅读全文
posted @ 2011-01-12 13:29 李sir 阅读(3115) 评论(0) 推荐(1) 编辑

摘要:http://msdn.microsoft.com/en-us/library/aa446817(v=VS.85).aspxBoot Trigger Example (C++)This topic contains a C++ code example that shows how to create a task that is scheduled to execute Notepad.exe when the system is started. The task contains a boot trigger that specifies a start boundary and del 阅读全文
posted @ 2011-01-06 17:17 李sir 阅读(690) 评论(0) 推荐(0) 编辑

摘要:/****************************** Module Header ******************************\Module Name: CppUACSelfElevation.cppProject: CppUACSelfElevationCopyright (c) Microsoft Corporation.User Account Control (U... 阅读全文
posted @ 2010-12-01 19:30 李sir 阅读(744) 评论(1) 推荐(0) 编辑

摘要:windows7 shell就是windows7操作系统的的控制台对于熟悉了命令行的人而言,用键盘调用程序比鼠标更快更省力您可以用"Shell:"命令调用一切可以用资源管理器打开的项目甚至是一次完成.需要很多步骤才能完成的任务.我们在程序里面如何调用呢,我们来使用为了windows7而生的VS2010,基于C++开发一个shell应用,基于VS2010+windows7调试通过,详情请见代码注释v... 阅读全文
posted @ 2010-12-01 19:08 李sir 阅读(1271) 评论(0) 推荐(0) 编辑

摘要:关于管理员组(administrators)获取系统(SYSTEM)权限的方法其实已经有很多种了.小四哥就提到了一些:"MSDN系列(3)--Administrator用户直接获取SYSTEM权限"和"远程线程注入版获取SYSTEM权限".这里,我先踩在前辈的肩上列一些可行的方法:1. "利用ZwCreateToken()自己创建一个SYSTEM令牌(Token)" 2. HOOK掉创建进程的函数... 阅读全文
posted @ 2010-12-01 18:55 李sir 阅读(3279) 评论(0) 推荐(0) 编辑

摘要:/****************************** Module Header ******************************\* Module Name: CppRunAsUser.cpp* Project: CppRunAsUser* Copyright (c) Microsoft Corporation.* * * * This source is subject ... 阅读全文
posted @ 2010-12-01 17:37 李sir 阅读(1180) 评论(0) 推荐(0) 编辑

摘要:MiniDumpWriteDump是MS DbgHelp.dll 中一个API, 用于导出当前运行的程序的Dump. 这个dll程序系统中就有, 但是很多软件, 都在自己的安装目录下保存了这个.dll的最新的版本.为了测试这个API, 参考网上一些资料, 写了一个简单的C++ 程序. 目的是当有异常发生的时候, 自动生成Dump文件供之后的分析. 有了Dump文件, 我们就可以使用WinDBG等调... 阅读全文
posted @ 2010-12-01 17:11 李sir 阅读(12602) 评论(0) 推荐(0) 编辑

摘要:/****************************** Module Header ******************************\Module Name: CppCreateLowIntegrityProcess.cppProject: CppCreateLowIntegrityProcessCopyright (c) Microsoft Corporation.The code sample demonstrates how to start a low-integrity process. The application launches itself at the 阅读全文
posted @ 2010-12-01 16:44 李sir 阅读(1341) 评论(0) 推荐(1) 编辑

摘要:#pragma region Includes#include <stdio.h>#include <windows.h>#pragma endregion#pragma region Is64BitOperatingSystem (IsWow64Process)//// FUNCTION: DoesWin32MethodExist(PCWSTR, PCSTR)//// PURPOSE: The function determins whether a method exists in the export // table of a certain module.// 阅读全文
posted @ 2010-12-01 15:48 李sir 阅读(2193) 评论(0) 推荐(0) 编辑

摘要:Sends an appbar message to the system.SyntaxCopyParametersdwMessage [in] Type: DWORDAppbar message value to send. This parameter can be one of the following values.ABM_NEW (0x00000000)0x00000000. Regi... 阅读全文
posted @ 2010-12-01 15:23 李sir 阅读(2169) 评论(0) 推荐(0) 编辑

摘要:我不知道这能不能算一个好点子,但我觉得这真的不错:模拟一个权力更大的用户进行某些无法完成的操作。举个例子来说:你在Administrator用户下,打开文件1.exe的安全设置页面,添加并设置Guest用户的权限为file control拒否,如下图所示:这样,按照正常的办法,Guest用户将访问不到1.exe文件了。但是一点其他的办法都没有吗?也不是的,我告诉你一个:模拟高权用户!这是一个很别扭... 阅读全文
posted @ 2010-12-01 11:22 李sir 阅读(2240) 评论(0) 推荐(0) 编辑

摘要:#pragmaregion Includes#include<stdio.h>#include <windows.h>#pragmaendregionBOOL DoesWin32MethodExist(PCWSTR pszModuleName, PCSTR pszMethodName){HMODULE hModule = GetModuleHandle(pszModuleN... 阅读全文
posted @ 2010-12-01 11:13 李sir 阅读(650) 评论(0) 推荐(0) 编辑

摘要:作者:Tuuzed(土仔) 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。http://www.cppblog.com/tuuzed/archive/2008/03/16/44656.html某日,你“偶然”登陆到了一台服务器上,在确认管理员不在后,开始在服务器上做起一些见不得人的事来。但,这时的你一定不是“心定定&rdqu... 阅读全文
posted @ 2010-11-29 19:39 李sir 阅读(678) 评论(0) 推荐(0) 编辑

摘要:Windows NT/2K/XP版本的操作系统都支持NTFS格式的文件系统,这是一个有安全性质的文件系统,你可以通过Windows的资源管理器来设置对每个目录和 文件的用户访问权限。这里我就不对NTFS的安全性进行讲述了,我默认你对NTFS的文件目录的安全设置有了一定的了解。在这里,我将向你介绍使用 Windows的API函数来操纵NTFS的文件权限。一、 理论和术语在Windows NT/2K?... 阅读全文
posted @ 2010-11-24 16:08 李sir 阅读(599) 评论(0) 推荐(0) 编辑

摘要:相关链接: http://www.codeproject.com/KB/combobox/listview.aspx CodeProject是个非常不错的网站,让我们可以吸收外国同行的编程经验。Win32 SDK利用ListView控件。为了使用ListView控件,我们需要初始化公共控件库,我们需要在程序刚刚启动时调用InitCommonControls() 函数,如果发生链接错误,说明我们没有... 阅读全文
posted @ 2010-11-24 09:29 李sir 阅读(5757) 评论(0) 推荐(0) 编辑

摘要:我通过对比手工添加例外前后的注册表更改情况发现某些键被更改和添加: =|o3)L1fl ^~dRiu ];,}qcG ----------------------------------Firewall.reg start---------------------------------------- 1}l>P]hxw%2$WQ>A?4%DA5G Window... 阅读全文
posted @ 2010-11-22 15:43 李sir 阅读(2574) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 下一页