微信投票刷票器上投票活动给孩子投票能刷票吗,微信投票刷票器刷票怎么拉

VC++ 控制台程序不弹出窗口的方法
我的图书馆
VC++ 控制台程序不弹出窗口的方法
大家都知道,当编写一个win32 console application时,当运行此类程序的时候默认情况下会有一个类似dos窗口的console窗口,但是有的时候我们只想在程序中运行一段功能代码,不希望显示这个console窗口,让代码执行完毕之后程序自动退出.下面就介绍一下,如何隐藏win32 console application的console窗口 因为此种方法是通过设置编译器的链接开关来实现,所以让我们来看一下编译器的链接开关选项(也就是linker选项).首先我们来看一下linker的 /subsystem 选项该选项的语法形式如下:/subsystem:{console|efi_application|efi_boot_service_driver|efi_rom|efi_runtime_driver|native|posix|windows|windowsce}[,major[.minor]]这个链接选项告诉操作系统如何运行可执行文件console:win32 字符模式应用程序,此种类型的应用程序在运行的时候会产生一个类似dos窗口的控制台窗口,如果在应用程序的主函数为main()或者wmain(),在默认情况下该应用程序就是一个控制台应用程序extensible firmware interface和cpu具体架构相关的一个参数选项,并不常用,在这里暂不详细介绍.如果对此有兴趣的可以访问intel主页来查看相关内容设备驱动器选项,如果/driver:wdm选项被设定的话,该链接选项(native)就为默认选项posix:在windows nt 种运行在posix子系统上的应用程序windows:该类型的应用程序不产生console窗口,该类型的应用程序的窗口由用户自己创建,简而言之就是一个标准的win32 application,其入口地址为winmain()函数或者wwinmain()函数的地址如果你在应用程序种定义的主函数为winmain或者wwinmain,在默认情况下该应用程序就是一个win32 application !windowsce:运行在windows ce上的应用程序major and minor (optional):主版本号和次版本号,该选项为可选,该选项为0~65535之间的十进制整数 从上面可以看出如果我们建立一个win32 console application的话,linker的/subsystem选项应该为console,可以在vc开发环境的project-&setting-&link-&project option中看到!接下来我们再看看应用程序是如何运行的!我们知道用vc编写的程序,运行的时候是需要 cc 运行库支持的.当我们运行一个c/c 程序的时候链接器会首先寻找应用程序的启动函数,例如:如果你建立了一个console程序的话,编译器得链接开关会是以下这种形式/subsystem:console /entry:maincrtstartup (ansi)/subsystem:console /entry:wmaincrtstartuup (unicode)如果你建立了一个win32 application,编译器得链接开关则会是一下形式/subsystem:windows /entry:winmain (ansi)/sbusystem:windows /entry:wwinmain (uincode)上面的两种形式可以再project-&setting-&link-&project option中看到上面的subsystem和entry并不需要都设置,如果你只设置了/subsystem:console的话,那么默认的entry开关在默认情况下应为/entry:maincrtstartup反之,如果你在应用程序中定义了main函数的话,默认情况下,你的/subsystem开关应该为/system:console在默认情况下/subsystem 和/entry开关是匹配的,也就是console对应maincrtstartup或者wmaincrtstartupwindows对应winmain或者wwinmain但是我们也可以通过手动改动的方式使他们不匹配例如我们可以这样改动#pragma comment( linker, /subsystem:windows /entry:maincrtstartup ) // 设置入口地址 int main(int argc, char* argv[]){messagebox(null, hello, notice, mb_ok);return 0;}在默认情况下链接器看到/subsystem下是windows选项的时候,它会自动寻找winmain或者wwinmain但我们强制指定入口地址,这样运行程序的时候默认的console窗口就会隐藏!上面是在代码中使用#pragma指令来设置,还有一种就是直接在开发环境的project-&setting-&link-&project option中手工改动!写了这么多,自己都有点感觉乱,没有办法,以前没写过什么文章,所以措辞可能不太好,希望大家见谅。1:如果console程序已经写好了,不能改了,也可以。写一个API程序,不要画窗口,然后用CreateProcess调用写好的console程序,把属性设成SW_HIDE即可。2:不能用控制台来写(CONSLOE),要用WINMAIN做入口就可以了,不画窗口,别人就都看不见了. 你只用想想办法把你的进程在任务栏里面隐藏住就可以.3:如果是console程序,用API函数GetStdHandle()获得控制台程序的窗口句柄,然后在隐藏窗口4://这一句隐藏控制台 #pragma&& comment(linker,&& "/subsystem:/"windows/"&& /entry:/"mainCRTStartup/""&& ) 你要写控制台程序就用这个在控制台程序中隐藏控制台窗口!
TA的最新馆藏下次自动登录
现在的位置:
& 综合 & 正文
VC++/VS2010 Win32控制台程序 运行结束 DOS/dos窗口立刻消失/一闪而过 的解决方法整理
&&&&推荐文章:
【上篇】【下篇】Windows应用程序相关(6)
调用FreeConsole();需要头文件windows.h,在程序开始时调用就行了。但是VC开发环境的控制台还是会有的,因为那是VC调的,不过你的程序不会输出到那个控制台罢了
project-&settings-&link,category选output,在project options里把/subsystem:console改为/subsystem:windows.然后Entry-point symbol里填mainCRTStartup就行了当写一个Win32控制台应用程序,当运行这样的程序 默认情况下,会有一个类似DOS窗口的控制台窗口,但有时我们只是希望程序 运行一些功能代码,不希望显示在控制台窗口中,因此该方案,因为该代码执行后, 自动退出。 这里有关于如何隐藏控制台窗口的Win32控制台应用程序 由于这种方法是通过设置编译链接切换到的,所以让我们来看看在编译 的链接开关选项(即,链接器选项)。 首先,我们来看看连接器/子系统的选项 这个选项的语法形式如下: / SUBSYSTEM:CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | ??????EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE} ??????,主要[。小]] 这个链接选项告诉操作系统如何运行的可执行文件 CONSOLE: win32的字符模式这种类型的应用程序,应用程序在运行时会产生一个类似DOS 如果应用程序的主函数main()或wmain(),默认情况下,控制台窗口的窗口, 应用程序是一个控制台应用程序 可扩展固件接口 一个参数选项和CPU架构,而不是常用的在这里暂时细节。 如果有兴趣的可以访问intel的主页查看相关内容 NATIVE; 设备驱动器选项/ DRIVER:WDM选项被设置作为默认选项,链接选项(NATIVE) POSIX: 在POSIX子系统运行的应用程序的Windows NT种 WINDOWS: 类型的应用程序不产生控制台窗口,窗口由用户创建的应用程序的类型,概括地说 是一个标准的Win32应用程序,它的入口地址WinMain()函数或wWinMain()函数的地址 如果你有主要功能是定义在应用程序中各种WinMain或wWinMain,默认情况下,应用程序是一个 Win32应用程序! WINDOWSCE: 在Windows CE上运行的应用程序 主要和次要(可选): 主版本号和次版本号,该选项是可选的,0到65535之间的十进制整数的选项 由于从上面可以看出,如果我们创建一个Win32控制台应用程序,链接器选项/子系统应 CONSOLE,你可以看到在VC开发环境与工程 - &设置 - &链接 - &项目的选项! 接下来,我们来看看如何运行的应用程序! 我们知道VC + +编写的程序,运行C \ C + +运行时支持是必要的。当我们运行一个C / C + +程序 链接器将首先开始应用功能,例如: 如果您创建一个控制台程序,编译器可能将这种形式Link交换机 /子系统:“控制台”/条目:“mainCRTStartup”(ANSI) /子系统:“控制台”/条目:“wmainCRTStartuup”(UNICODE) 如果你建立一个win32应用程序时,编译器是连接开关的形式将着眼于 /子系统:“窗口”/条目:“WinMain函数”(ANSI) / Sbusystem:“窗口”/条目:“wWinMain”(UINCODE) 上述两种形式可以项目 - &设置 - &链接 - &项目选项 上述子系统和入口并不需要所有的设置,如果你只设置/ SUBSYSTEM:CONSOLE“ ,那么默认的输入开关应该是在默认的/条目:“mainCRTStartup” 相反,如果你在应用程序的主函数的定义,默认情况下,你/子系统的开关 应该/系统:“控制台” 默认/子系统/输入开关匹配的是 安慰相应的mainCRTStartup或wmainCRTStartup 对应的窗口WinMain或wWinMain 但是,我们也可以进行手动更改它们不匹配 例如,我们可以这样的变化 #pragma注释(连接“/子系统:\”窗口\“/条目:\”mainCRTStartup \“”)/ /设置入口地址 INT主(argc,焦炭*的argv []) { 的MessageBox(NULL,“你好”,“通知”,MB_OK); 返回0; } 默认的链接器/子系统的Windows选项,它会自动寻找WinMain或wWinMain 然而,我们不得不指定的入口地址,因此当运行程序默认的控制台窗口隐藏! 上面的代码中使用#pragma指令来设置,有直接的开发环境 项目 - &设置 - &链接 - &项目选择在手动更改!
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:84978次
积分:2191
积分:2191
排名:第15761名
原创:101篇
转载:239篇
(6)(6)(1)(1)(5)(9)(8)(4)(28)(13)(6)(7)(16)(6)(5)(3)(26)(1)(5)(4)(16)(3)(5)(66)(12)(13)(19)(14)(8)(4)(6)(14)(10)

我要回帖

更多关于 微信投票刷票器 的文章

 

随机推荐