控制台程序窗口隐藏

合集下载

电脑控制面板里的程序如何隐藏

电脑控制面板里的程序如何隐藏

电脑控制面板里的程序如何隐藏?点开始-运行-gpedit.msc-用户配置-进入管理模版,里面会有一个控制面板选项全部隐藏控制板面的项目,找到“禁制访问控制面板”右键单击它,打开它的属性,在设置选项卡中选择“已启用”隐藏个别项目,单击“禁制访问控制面板”下面的“隐藏指定的控制面板应用小程序”右键单击他,属性。

选中“已启用”这时候下面的显示按钮就可以按了~按一下,出来了显示内容窗口,在右边点添加,然后输入要隐藏的项目名称就可以。

若要显示控制面板项,请单击“显示”,然后在“显示内容”对话框的“值”列中,输入控制面板项的规范名称microsoft.folderoptions 启动资源管理器的文件夹属性选项卡Microsoft.AddHardware 控制面板\所有控制面板项\设备和打印机Microsoft.AdministrativeTools 控制面板\所有控制面板项\管理工具Microsoft.PeopleNearMe 网络邻居Microsoft.AudioDevicesAndSoundThemes 声音Microsoft.AutoPlay 控制面板\所有控制面板项\自动播放Microsoft.Personalization 控制面板\所有控制面板项\个性化Microsoft.BackupAndRestoreCenter 控制面板\所有控制面板项\备份和还原Microsoft.PhoneAndModemOptions 设置电话和调制调解器的连接向导:位置信息Microsoft.BitLockerDriveEncryption 控制面板\所有控制面板项\BitLocker 驱动器加密Microsoft.Printers 控制面板\所有控制面板项\设备和打印机Microsoft.ColorManagement 颜色管理Microsoft.ProgramsAndFeatures 控制面板\所有控制面板项\程序和功能添加/删除程序Microsoft.DateAndTime 日期和时间Microsoft.DefaultPrograms 控制面板\所有控制面板项\默认程序Microsoft.DeviceManager 设备管理器Microsoft.SecurityCenter 安全中心:控制面板\所有控制面板项\操作中心Microsoft.SyncCenter 控制面板\所有控制面板项\同步中心Microsoft.Fonts 控制面板\所有控制面板项\字体Microsoft.System 控制面板\所有控制面板项\系统:查看Windows版本等Microsoft.GameControllers 游戏控制器Microsoft.GetPrograms 控制面板\程序\获得程序Microsoft.TaskbarAndStartMenu 任务栏和“开始”菜单属性erAccounts 控制面板\所有控制面板项\用户账户Microsoft.WelcomeCenter 控制面板\所有控制面板项\入门Microsoft.iSCSIInitiator iSCSI 发起程序属性Microsoft.WindowsDefender 启动Windows DefenderMicrosoft.Keyboard 启动键盘属性对话框Microsoft.WindowsFirewall 控制面板\所有控制面板项\Windows 防火墙Microsoft.MobilityCenter Windows 移动中心Microsoft.Mouse 鼠标属性workAndSharingCenter 控制面板\所有控制面板项\网络和共享中心Microsoft.WindowsUpdate 控制面板\所有控制面板项\Windows Update Microsoft.OfflineFiles 脱机文件Microsoft.ParentalControls 控制面板\所有控制面板项\家长控制。

vs工程运行时隐藏窗口方法

vs工程运行时隐藏窗口方法

vs工程运行时隐藏窗口方法在Visual Studio中,当我们运行一个程序时,有时候我们希望程序在后台运行,而不显示窗口。

这在一些需要静默运行的场景下非常有用,比如后台任务或者系统服务。

下面我将从多个角度来介绍在Visual Studio中实现隐藏窗口的方法。

1. 使用Windows Forms应用程序,如果你的程序是基于Windows Forms的,你可以在Main方法中设置Application.Run时传入一个隐藏的窗体,这样程序就会在后台运行而不显示窗口。

csharp.Application.Run(new HiddenForm());2. 使用Console应用程序,对于控制台应用程序,你可以在Main方法中调用Win32 API来隐藏控制台窗口。

csharp.class Program.{。

[DllImport("kernel32.dll")]static extern IntPtr GetConsoleWindow();[DllImport("user32.dll")]static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);const int SW_HIDE = 0;static void Main()。

{。

IntPtr hWnd = GetConsoleWindow();if (hWnd != IntPtr.Zero)。

{。

ShowWindow(hWnd, SW_HIDE);}。

// 其他代码。

}。

}。

3. 使用WPF应用程序,对于基于WPF的应用程序,你可以在App.xaml.cs中重写OnStartup方法,在启动时隐藏主窗口。

csharp.protected override void OnStartup(StartupEventArgs e)。

{。

base.OnStartup(e);MainWindow mainWindow = new MainWindow();mainWindow.Hide();// 其他代码。

WIN7系统怎样将正在运行的程序隐藏

WIN7系统怎样将正在运行的程序隐藏

在使用电脑的时候,如何保证个人的隐私是所有用户都十分关注的一件事。

尤其是在共用电脑上面使用的话,如果需要临时离开的话,那么要先把运行的程序关了等都回来再打开吗?这样做十分的耽误时间的。

那么有没有一个好的方法呢?下面就来看看win7系统将正在运行程序隐藏的方法吧。

可以先下载一个WindowManager软件,然后打开软件把需要隐藏的窗口加密隐藏,等到回来之后解密继续使用。

当软件打开之后,鼠标右键点击软件的图标,这时候选中菜单里面的Open WindowManager dialog选项,直接将窗口打开,如下图所示。

这个打开的窗口里面右键收录了目前全部正在运行程序的窗口名称,选择你需要隐藏的,点击Hide,然后程序就从桌面上消失不见了,窗口也会消失了,之后就可以关闭这个软件了。

如果回来继续使用程序的话,就要将其进行恢复,具体的做法是:右键点击软件图标,Restore window里面直接点击程序的名称就可以了。

不过这种方法其他人也可以将程序恢复,因此我们可以对其进行加密,防止他人操作。

加密的时候鼠标右键点击菜单里面的Settings,选择Security标签,将restoring hidden windows打勾,然后再点击Set Password,设置相关的密码就可以了。

C#控制台隐藏窗体

C#控制台隐藏窗体
uint SC_CLOSE = 0xF060;
RemoveMenu(closeMenu, SC_CLOSE, 0x0);
}
public static bool IsExistsConsole(string title)
{
Console.Title = "Test2";
ConsoleWin32Helper.ShowNotifyIcon();
ConsoleWin32Helper.DisableCloseButton(Console.Title);
}
static void _NotifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)
{
Console.WriteLine("托盘被双击.");
int a = new Random().Next(5);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Threading;
using System.Drawing;
ParenthWnd = FindWindow(null, "Test2");
int normalState = 0;//窗口状态(隐藏)
ShowWindow(ParenthWnd, normalState);
}
}
return true;

隐藏命令窗口的操作方法是

隐藏命令窗口的操作方法是

隐藏命令窗口的操作方法是
在Windows操作系统中,有几种方法可以隐藏命令窗口:
1. 编写一个批处理文件并运行:创建一个批处理文件(后缀名为 .bat 或
者 .cmd),在其中执行你想要运行的命令。

然后,双击运行这个批处理文件即可隐藏命令窗口。

2. 使用VBScript 或者PowerShell 脚本:创建一个VBScript 或者PowerShell 脚本文件(后缀名为 .vbs 或者 .ps1),在其中执行你想要运行的命令。

然后,双击运行这个脚本文件即可隐藏命令窗口。

3. 创建一个快捷方式:右键点击命令窗口中的标题栏,选择“属性”。

在“快捷方式”选项卡中,将“运行”设置为“最小化”或者“隐藏”。

然后,使用这个快捷方式来运行命令。

4. 使用第三方工具:可以使用一些第三方工具来隐藏命令窗口,例如,使用AutoHotkey 脚本,使用编译器将脚本文件转换成可执行文件等。

请注意,在一些情况下,命令窗口可能会在命令执行完毕后自动关闭,而在一些情况下,命令窗口可能会一直保持打开状态。

以上方法适用于Windows操作系统,对于其他操作系统可能有不同的方法。

delphi窗体隐藏方法

delphi窗体隐藏方法

delphi窗体隐藏方法Delphi是一个集成化开发环境,其中包括了许多功能强大的工具和组件。

当我们开发完一个窗体后,可能希望将窗体进行隐藏以达到特定的目的。

这个目的可以是在程序运行期间隐藏窗体,使得窗体不再显示在屏幕上,也可以是在程序启动时隐藏窗体,使得程序不会一开始就显示窗体。

下面我们将会介绍几种在Delphi中实现窗体隐藏的方法。

方法一:使用Visible属性您可以使用Visible属性将窗体隐藏。

这个方法非常简单,只需要将Visible属性设置为False即可。

这将使得窗体不再显示在屏幕上。

如果您需要将窗体再次显示出来,则需要将Visible属性再次设置为True,如下所示:Form1.Visible := False; //隐藏窗体Form1.Visible := True; //显示窗体需要注意的是,即使将窗体隐藏后,仍然可以访问窗体并在其上运行Delphi条款中的所有代码。

方法二:使用AlphaBlend属性AlphaBlend属性允许您使用透明度来隐藏窗体。

这给了您更大的灵活性,因为您可以设置窗体的透明度以实现许多隐藏效果。

您可以使用AlphaBlendValue属性来设置透明度,该属性的值仅在0到255之间。

AlphaBlend属性的默认值为False,您需要将它设置为True才能启用窗体透明度。

以下是示例代码:Form1.AlphaBlendValue := 100; //设置透明度为100Form1.AlphaBlend := True; //启用AlphaBlend功能Form1.AlphaBlendValue := 255; //窗体不再是透明的AlphaBlend的主要缺点是性能开销,所以在窗体中有很多控件时,会使窗体的响应变得缓慢。

方法三:使用Visible和AlphaBlend属性的组合如果您希望更多地控制您的窗体隐藏效果,您可以结合使用Visible和AlphaBlend属性。

VC怎样隐藏控制台窗口

VC怎样隐藏控制台窗口

自己的总结:平台:Windows Sever2003环境:Visual Studio 2008在项目属性中如下两步操作:【链接器】——【系统】——【子系统】:/SUBSYSTEM:WINDOWS 【链接器】——【高级】——【入口点】:mainCRTStartupVC++ 隐藏控制台程序窗口大家都知道,当编写一个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主页来查看相关内容native;设备驱动器选项,如果/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中手工改动!写了这么多,自己都有点感觉乱,没有办法,以前没写过什么文章,所以措辞可能不太好,希望大家见谅。

如何隐藏控制面板项目

如何隐藏控制面板项目

[don'tload]
joystick.cpl=yes 表示隐藏“游戏控制器”
பைடு நூலகம்
midimap.drv=yes表示隐藏“区域设置”
access.cpl=yes表示隐藏“辅助选项”
appwiz.cpl=yes表示隐藏“添加/删除程序”
timedate.cpl=yes表示隐藏“日期/时间”
tweakui.cpl=yes表示隐藏“TweakUI”
注:以上方法仅适于Windows 9x和Windows Me。
(2)隐藏文件法
由于上面的一些*.cpl文件都是放在Windows的系统文件夹下(Windows 9x和Windows Me放在C:\Windows\System,而Windows 2000、NT、XP则放在C:\WINNT\System32下),所以我们可以把这些文件通过Windows的搜索功能全部找出来,然后把它们移动到某一文件夹下,这样打开控制面板后就会发现其中任何一个项目也没有,当然也无法更改。如果我们自己想要使用时再拷贝到系统文件夹下即可恢复正常。
(1)更改文件配置法
Control Panel本身有一个配置文件control.ini,(存放在Windows安装文件夹下)通过改动此文件可达到这一目的。
由于此文件是一文本文件,所以请记住务必用文本编辑软件打开它,Windows中已经自带了一个记事本程序,我们就用记事本程序来打开它。以下就是我机器上的该文件第一段的内容。只须这样一设置,我的控制面板中便什么也没有了。具体为:在control.ini中增加[don'tload]字段,在其后跟上*.cpl=yes,即表示该选项不在控制面板中显示。
desk.cpl=yes表示隐藏“显示”
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[VC++]控制台程序窗口隐藏HWND hWnd;SetConsoleTITle("HEHE");hWnd=::FindWindow(NULL,"HEHE");ShowWindow(hWnd,SW_HIDE);当创建一个控制台程序时,又不想看到其窗口可用如下代码解决:#ifdef NDEBUG#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) #endif首先来看一下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主页来查看相关内容NATIVE;设备驱动器选项,如果/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编写的程序,运行的时候是需要 C\C++运行库支持的.当我们运行一个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窗口就会隐藏!但我们强制指定入口地址,这样运行程序的时候默认的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\"" ) 你要写控制台程序就用这个VC下揭开“特洛伊木马”的隐藏面纱一、引言“特洛伊木马”曾在网上造成很大恐慌,此类黑客程序通过欺骗手段在普通网络用户端安装木马的服务端,使用户的计算机在上网时留有后门,而黑客则可以通过这个后门对被感染的计算机随心所欲地进行监视、破坏。

显然这种黑软对于普通网络用户的危害是非常严重的。

就本质而言黑客软件仍然属于应用程序,是基于套接字的网络通讯程序。

因此黑客能成功攻击被感染计算机的一个非常必要的先决条件就是此时被攻击方已经有木马程序的服务端在运行。

由于木马程序是一种恶意程序,能在被攻击者没有察觉的情况下悄悄启动运行为攻击者打开后门,故显然不能象其他程序一样堂而皇之的显示在任务栏和任务列表中,否则会立即为用户所察觉而将其关闭,也就失去了为攻击者提供后门的作用。

本文下面就针对其隐藏程序的机理展开讨论。

二、程序在任务栏中的隐藏原理程序在任务栏的隐藏比较简单,首先要保证程序主界面的隐藏,一般是通过修改应用程序类的初始化实例函数InitInstance()的ShowWindow()语句的SW_SHOW参数为SW_HIDE 来实现的。

主界面隐藏的同时任务栏虽然也会消失,但在程序启动时会闪一下,因此需要修改程序的扩展属性。

一种方法是SDK的写法,即直接利用GetWindowLong()获取到当前的扩展属性然后通过逻辑运算去掉原有的WS_EX_APPWINDOW属性,并新添加一个WS_EX_TOOLWINDOW属性,这样系统会将其认为是一个工具条窗口而不会再在任务栏中加以显示。

最后需要将修改过的扩展属性通过SetWindowLong()函数将其写回。

这两个函数的声明分别如下:LONG GetWindowLong(HWND hWnd,int nIndex);LONG SetWindowLong(HWND hWnd,int nIndex,LONG dwNewLong);另一种很简便的是MFC的写法:在程序框架类的预创建窗口函数里通过直接对CREATESTRUCT结构对象的逻辑操作而将程序属性进行改变:cs.style=WS_POPUP;cs.dwExStyle=WS_EX_TOOLWINDOW;这两种写法虽然表现形式各不相同,其本质都是一样的。

三.程序在任务列表中的隐藏原理任务列表(Ctrl+Alt+Del时弹出的对话框)显示了当前系统正在运行的一些应用程序,如果实现了上一步,虽然在任务栏看不见程序,但有经验的用户可以通过观察任务列表而发现一些值得怀疑的应用程序而在此将其关闭。

所以大多数黑软也都通过较复杂的手段实现了自身在任务列表中的隐藏,使被发现的机会大大降低。

在Win9x/2000中,一般每个应用程序都要通过一个API(应用程序接口)函数RegisterServiceProcess()向系统申请注册成为一个服务进程,并且也是通过这个函数注销其服务进程来结束这个服务进程的运行。

如果一个进程注册为一个服务进程,通过Ctrl+Alt+Del 就可以在任务列表里看见该进程的标题。

而如果一个进程运行了但没有向系统申请注册成为服务进程那么就不会在任务列表里显示。

黑软也正是利用这个原理使自身在运行时能在任务列表中实现隐藏。

该函数存放于系统内核Kernel32.dll中,具体声明如下:DWORD RegisterServiceProcess(DWORD dwProcessId,DWORD dwType);其第一个参数指定为一个服务进程的进程标识,如果是0则注册当前的进程;第二个参数指出是注册还是注销当前的进程,其状态分别为:RSP_SIMPLE_SERVICE和RSP_UNREGISTER_SERVICE。

黑软一般是在程序启动初始化时首先从Kernel32.dll动态连接库中将RegisterServiceProcess()函数加载到内存,然后再通过该函数将程序从任务列表中隐藏://从Kernel32.dll中加载RegisterServiceProcess()HMODULE m_hKernel=::GetModuleHandle("Kernel32.DLL");RSP m_rsp=(RSP)::GetProcAddress(m_hKernel,"RegisterServiceProcess");m_rsp(::GetCurrentProcessId(),1);//此时为隐藏,当第二个参数为0时显示另外,还有一部分黑软是通过ShowWindowAsync()函数启动一个新的线程来显示一个新窗口的。

相关文档
最新文档