带dos调试窗口的win32程序
#pragma comment( linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\"")
方法只要
在cpp文件头部加入一行:
#pragma comment( linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\"")
//以console程序样式,并且制定winmain的入口.
此位置在系统.h的后面。如放在:stdafx.h的后面就可以。
不管是vc6还是.net都可以。
如果link无效,需要替换WinMainCRTStartup
入口函数有:
mainCRTStartup
wmainCRTStartup
wWinMainCRTStartup
WinMainCRTStartup
---------------------
在vc2005中的mfc和sdk 程序的入口不同。mfc的入口为WinMainCRTStartup。sdk程序的入口为:wWinMainCRTStartup。
vc6的入口都是WinMainCRTStartup。
以上请大家注意。
在使用printf语句之前记得把stdio.h的头文件包含进去.就可以.实现这个有趣的程序.其实在调试一些大型的win32 gui程序的时候这个dos窗口相当的有用.
反过来.你在console工程中加入
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置console的入口地址和gui样式.
dos窗口就消失了.之会显示像 MessageBox之类的gui窗体.
这些link选项最后都会填写到PE头文件的Subsystem节中里面只需要把03(console模式,WINDOWS_CUI=3)该为02(WINDOWS_GUI=2).简单点使用修改pe头文件的工具直接修改就可以使gui程序中的printf函数生效.
一般放在#include "stdafx.h"的后面,才有效
sdk:
#pragma comment( linker, "/subsystem:\"console\" /entry:\"wWinMainCRTStartup\"")
#pragma comment( linker, "/subsystem:console /entry:wWinMainCRTStartup")
mfc:
#pragma comment( linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\"")
#pragma comment( linker, "/subsystem:console /entry:WinMainCRTStartup")
实际编程上面的应用的sdk程序中
http://blog.csdn.net/xhhjin/article/details/6658941
带dos调试窗口的win32程序的更多相关文章
- OD调试1--第一个win32程序
OD调试一:第一个Win32程序的修改 在软件开发的过程中,程序员会使用一些调试工具,以便高效地找出软件中存在的错误.而在逆向分析领域,分析者也会利用相关的调试工具来分析软件的行为并验证分析结果.由于 ...
- 在Win32程序中显示Dos调试窗口,可暂停(AllocConsole,WriteConsole,FreeConsole函数,GetStdHandle函数取得输入句柄)
在很多程序中,都可以看到程序运行中,会有一个Dos窗口,实时显示一些运行信息,这里就告诉大家是如何实现的,我们做个简单的,其实对控制台的操作还有很多,有兴趣的可以去查资料. 用到的API函数如下: / ...
- 在Win32程序中显示Dos调试窗口
在很多程序中,都可以看到程序运行中,会有一个Dos窗口,实时显示一些运行信息,这里就告诉大家是如何实现的,我们做个简单的,其实对控制台的操作还有很多,有兴趣的可以去查资料. 用到的API函数如下: / ...
- windows程序员进阶系列:《软件调试》之Win32堆的调试支持
Win32堆的调试支持 为了帮助程序员及时发现堆中的问题,堆管理器提供了以下功能来辅助调试. 1:堆尾检查(Heap Tail Check) HTC,在堆尾添加额外的标记信息,用于检测堆块是否溢出. ...
- win32程序之子窗口编程
win32程序之子窗口编程 一丶简介.什么是子窗口 在前边我们已经讲解了窗口的本质.以及如何注册窗口类跟创建窗口. 还讲了消息循环. 那么有很多窗口其实Windows已经帮我们创建出来了.我们直接使用 ...
- win32程序之窗口程序,以及消息机制
win32程序值窗口程序,以及消息机制 一丶简介 通过上一讲.我们了解了窗口其实是绘制出来的.而且是不断绘制的过程. 所以窗口的本质是绘制. 但是我们现在看到的窗口程序.都可以点击关闭按钮. 使用鼠标 ...
- Win32 程序在启动时激活前一个启动程序的窗口
UWP 程序天生单实例.当然,新 API (10.0.17134)开始也提供了多实例功能.不过,传统 Win32 程序可就要自己来控制单实例了. 本文介绍简单的几个 Win32 方法调用,使 Win3 ...
- Win32 程序开发:创建一个应用程序窗口
一.创建一个应用程序窗口 代码如下: // 头文件 #include <windows.h> // 全局变量 WCHAR g_lpszClassName[] = L"CLASSN ...
- Win32 程序开发:窗口类结构体 WNDCLASS 和 WNDCLASSEX
一.窗口类结构体简介 窗口类结构体包含了窗口的各种参数信息.比如:窗口的图标.菜单栏.背景颜色.窗口的消息处理等等. 窗口类结构体有两个:WNDCLASS(早期版本) 和 WNDCLASSEX(新版本 ...
随机推荐
- 关于 firefox 无法在 passport.csdn.net 找到该服务器
很奇怪的现象:用firefox上网,某些网站打开总是会提示 无法在XXX找到该服务器.但是使用其他浏览器,比如360却可以正常打开. 我已经将firefox加入了防火墙的信任列表,但是仍旧是这样. 而 ...
- 【Tomcat】本地域名访问设置
原路径:localhost:8080/tidyko 1.去掉8080端口 打开%TOMCAT_HOME%/conf/server.xml 修改里面的 <Connector connectionT ...
- iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)
版权声明:本文为博主原创文章,转载请声明出处:http://blog.csdn.net/jinnchang 1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系.每个 iOS 应用程 ...
- 素数环(C - 暴力求解)
素数环(暴力)(紫书194页) Description A ring is composed of n (even number) circles as shown in diagram. Put ...
- BZOJ 1597: [Usaco2008 Mar]土地购买( dp + 斜率优化 )
既然每块都要买, 那么一块土地被另一块包含就可以不考虑. 先按长排序, 去掉不考虑的土地, 剩下的土地长x递增, 宽y递减 dp(v) = min{ dp(p)+xv*yp+1 } 假设dp(v)由i ...
- Android访问网络(可以正常使用)
以下是MainActiviy.java,有必要的注释,里面用到了handler,以及线程,workThread如何更新mainThread才能够更新的内容. package com.wyl.httpt ...
- 生成pdf文件
- QT5 动态链接库的创建和使用(QT自己做动态库给自己使用)
记录一下QT5 动态链接库的创建和使用 在文章的最后有完成的代码供下载 1.创建动态链接库 先新建一个库项目 选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld 再点击下一步 ...
- oschina iOS代码库
iOS代码库 34Activity 54下拉刷新(pull-to-refresh) 143菜单 (Menu) 20位置信息(GPS/Location) 24iOS 表单 74提醒 (Notificat ...
- 基于visual Studio2013解决C语言竞赛题之0604二维数组置换
题目