控制台程序窗口隐藏

合集下载

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

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

电脑控制面板里的程序如何隐藏?点开始-运行-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表示隐藏“显示”

C#控制台程序启动后最小化或者隐藏小黑板

C#控制台程序启动后最小化或者隐藏小黑板

C#控制台程序启动后最⼩化或者隐藏⼩⿊板最近在项⽬中⽤到的,实在没有兴趣去写成Windows Service⽅式,只能最简单的Console⽅式了!再在特定条件下启动后能够后台执⾏或者最⼩化到任务栏⽽不会挡在屏幕中央!基本思路是P/Invoke⽅式:1using System;2using System.Runtime.InteropServices;3using System.Threading;456class TestClass7{8static void Main(string[] args)9 {10try11 {12new TestClass();13 }14catch (Exception)15 {1617throw;18 }19 }202122 [DllImport("User32.dll", EntryPoint = "FindWindow")]23private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);2425 [DllImport("user32.dll", EntryPoint = "FindWindowEx")] //找⼦窗体26private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);2728 [DllImport("User32.dll", EntryPoint = "SendMessage")] //⽤于发送信息给窗体29private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);3031 [DllImport("User32.dll", EntryPoint = "ShowWindow")] //32private static extern bool ShowWindow(IntPtr hWnd, int type);3334public TestClass()35 {36 Console.Title = "MyConsoleApp";37 IntPtr ParenthWnd = new IntPtr(0);38 IntPtr et = new IntPtr(0);39 ParenthWnd = FindWindow(null, "MyConsoleApp");4041 ShowWindow(ParenthWnd, 2);//隐藏本dos窗体, 0: 后台执⾏;1:正常启动;2:最⼩化到任务栏;3:最⼤化4243 //作⾃⼰的事情44 Thread.Sleep(3000);4546 Console.Write("Exit");4748 }49}。

控制台程序窗口隐藏

控制台程序窗口隐藏

控制台程序窗口隐藏[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_SERVI CE_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中手工改动!写了这么多,自己都有点感觉乱,没有办法,以前没写过什么文章,所以措辞可能不太好,希望大家见谅。

隐藏控制面板中指定的项目

隐藏控制面板中指定的项目

隐藏控制面板中指定的项目假设要隐藏控制面板中的“任务计划”和“游戏控制器”,操作方法如下:开始→ 运行→ 输入gpedit.msc 并确定,启动组策略;1. 点击“用户配置”;2. 点击“管理模板”;3. 点击“控制面板”;4. 双击右边窗口里面的“隐藏指定的控制面板程序”;5. 勾选“设置”选项卡里面的“已启用”;6. 点击“显示”;7. 点击“添加”;8. 在添加项目输入框里面,输入“任务计划” ,注意,不含引号,确定;再次点击添加,输入joy.cpl ,确定。

(就是输入控制面板中“游戏控制器”的程序文件名);此设置将控制面板的项目(如显示)和文件夹从控制面板和「开始」菜单中删除。

它可以删除 Windows 2000 Professional 和 Windows XP Professional 中包含的控制面板的项目,也可以删除在系统里添加的控制面板项目。

若想隐藏一个控制面板项目,输入该项目的文件名,如Ncpa.cpl (用于网络)。

若想隐藏一个文件夹,输入该文件夹名,如“字体”。

此设置只影响「开始」菜单和控制面板窗口。

它不会阻止用户运行控制面板项目。

注意: 要寻找控制面板项目的文件名称,请在 %Systemroot%\System32 目录中搜索 .cpl 文件名称的扩展。

(打开我的电脑→工具→ 文件夹选项→ 查看→ 把“隐藏已知文件类型的扩展名”取消√ ,就可以看到文件的后缀,比如.cpl 。

)如果不清楚system32目录下哪个.cpl文件对应控制面板里面的哪个项目,只要双击那个.cpl文件,就会打开控制面板里面相应的项目,多打开几个.cpl文件就会找到自己需要的cpl文件了。

比如:inetcpl.cpl → Internet 属性firewall.cpl → windows 防火墙powercfg.cpl → 电源选项sysdm.cpl → 系统属性timedate.cpl → 日期和时间wscui.cpl → windows 安全中心nusrmgr.cpl → 用户账户intl.cpl → 区域和语言选项appwiz.cpl → 添加删除程序ncpa.cpl → 网络连接。

Win10系统怎么隐藏任意程序运行界面?

Win10系统怎么隐藏任意程序运行界面?

Win10系统怎么隐藏任意程序运⾏界⾯?在Windows系统中,程序默认是要有窗⼝显⽰的,⽽且运⾏中的任务⼀般还要在任务栏上有所反应,这样便于切换操作。

不过有些时候我们可能不需要这些可显⽰出来的信息,那么该如何隐藏程序界⾯呢?将告诉⼤家两个⽅法,Win7/Win8.1/Win10系统都适⽤。

软媒魔⽅ v6.2.5.0 正式安装版类型:优化设置⼤⼩:37.8MB语⾔:简体中⽂时间:2020-08-05查看详情⽅法⼀:使⽤VBScript1、⾸先以隐藏系统⾃带的Win32版《写字板》程序为例,在记事本中写⼊如下代码:Dim WShellSet WShell = CreateObject("WScript.Shell")WShell.Run "wordpad.exe", 0 '后⾯0的意思是“隐藏”Set WShell = Nothing注意:代码第三⾏后的单引号 ' 是VB中的注释符号,其后⾯的语句没有执⾏效果。

2、把上述代码保存为.vbs格式,⽂件名⾃拟,如下图——3、此时双击刚刚保存的vbs⽂件就可以让写字板“隐⾝”运⾏,但我们还是可以在任务管理器中找到进程,如下图——4、如果想隐⾝运⾏第三⽅程序,则需要修改代码,以软媒魔⽅的清理⼤师⽂件为例,代码如下:Dim WShellSet WShell = CreateObject("WScript.Shell")WShell.Run """" & "D:\Program Files (x86)\Ruanmei\PCMaster\cleanmaster.exe" & """", 0 '如果路径中含有空格,就需要在路径前后加引号和调⽤符号,格式为"""" & "路径" & """"Set WShell = Nothing5、按照第2步的⽅式保存后,双击可以查看效果。

隐藏控制面板或360软件管家中的程序

隐藏控制面板或360软件管家中的程序

隐藏“添加/删除程序”或360软件管家中的程序单击打开“开始”菜单中的运行”对话框,在其中输入Regedit启动注册表编辑器,然后依次选中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVers ion\Uninstall,(64位系统是这:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\mircosolt\windows\CurrentVersion\Uninstall)在Uninstall项上右击,在弹出的菜单中选择“导出”,将该分支的注册选项备份为一个Reg文件,以备修改失败时进行恢复,这样我们就没有了后顾之忧。

在注册表中的Uninstall下面有很多子项,仔细观察一下就可以发现每一个子项其实都对应一个已安装的程序大多有其英文程序名,找不到的在目录下按照程序名查找下一个。

程序名以控制面板中显示为主,可以先打开控制面板的程序管理看。

注意不要找到其它地方,其它地方也有该程序名。

所以点一下Uninstall,表示只在该目录下查找,再用查找下一个。

如果你想简单一些那么直接将其选中并右击,在弹出的菜单中选择“删除”命令将其删除即可(不建议)。

如果你不希望将关于某个程序的子项全部删除,那么我们还可以将该子项选中,然后直接在子项右侧的具体键值中找到“DisplayName”项,右击在弹出的菜单中选择“重命名”,并输入新的名称“QuietDisplayName”即可。

这样要恢复隐藏的程序时也比较简单,只需要选中修改后的名称,再次右击选择“重命名”,并输入原来的键值名称即可。

实测除了这两个特殊的不能隐藏,其它基本都行参考:/view/ac4a2f1ea8114431b90dd84e.html###。

javascript控制页面控件隐藏显示的两种方法

javascript控制页面控件隐藏显示的两种方法

javascript控制页面控件隐藏显示的两种方法
javascript控制页面控件隐藏显示的两种方法
javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位
方法一:
复制代码代码如下:
document.all["panelsms"].style.visibility="hidden";
document.all["panelsms"].style.visibility="visible";
方法二:
复制代码代码如下:
document.all["panelsms"].style.display="none";
document.all["panelsms"].style.display="inline";
方法一隐藏后页面的'位置还被控件占用只是不显示类似于.net 验证控件的display=static
方法二隐藏后页面的位置不被占用类似于.net验证控件的display=dynamic。

简单隐藏“控制面板”窗口中的图标

简单隐藏“控制面板”窗口中的图标

简单隐藏“控制面板”窗口中的图标藏控制面板窗口中的图标.方法为'打开controlini文件.将下列语句放置到controlini文件的Idont.tIoad】节中保存.再重新启动机器netcptcpl=ves:隐藏网络appwizcpi=yes:隐藏潘加/删除用户inetcpl0pI=yes:隐藏用户和In[erne~odbccp32.pI=yes隐藏32位ODBCsysdmcpl=ves,隐蔽系统'和添加靳硬件:passwordcpl=yes:隐澈'密码modemcpr=yes.踌藏调制解调器deskcpt=yes隐藏显示Windows下潜建蜜罐由于Windows和x系统的差异我们很难使用有效的工具来完整地追踪入侵者的行为并措建蜜罐系统.因为WindowsqF有各式各样的远程管理款件{如VNC》不被查杀但我们可以制作一个虚拟系统.监视常用的端口.监视CMDexe.安装日志服务器并让其自动发送日志到指定邮箱.利用Sniffer监听各种经过网卡内窖并通过防火墙加强监视.小编认为可以用VlrtuaIPC架设虚拟机.Evtsysexe把系统日志发送~LogBE务器.用Comlog替换原来的CMD程序.用KiwiSyslogDaemon作为Log~.务器.用Ethereal监听网卡同时用绿色警戒防火墙强化监视能力.这样相信苍蝇飞过了都能被拍下来I将■量ndD啪昀CMI)改遗成Linux风格的命令行要使你的Windows的CMD显得Cool起来,和Linux风格的命令行一样.用Prot命令就可以实现我们首先需将下面的代码存为linuxbat并保存在C盘下…Proifiptyzde&key"rdoskeyd=田cl8r…一…一一一=………=---接下来打开注册表编辑器找到以下键长0cAL^AcHE\s0F州AFE,Mios,c.11T曰]d Processor】,改成AutoRun:"c:\Iinuxbat.K球DEFENCEFoxmaiI的安全设置最新J}叵本的FoxmaiI具有解析中文域名的本领.不过要发挥出该本领.FoxmaIl需要动态链接库punYlibdII'文件的支持.而.punY¨bdlI内置的UrIToLocal函数带有堆桂溢出的安全漏洞黑客可以利.瞬该漏洞轻易地获得对方系统的访问权限从而对他人的系统进行恶意的远程控制和攻击为了避免恶意攻击.你必须想办法'切断黑客攻击的通道.考虑到这种攻击是基于中文域名解析功能之下的因此只要你巧妙设置Foxm日lI.ic它拒绝调用中文域名解析功能.运行FoxmajI程序.在弹出的主界面菜单栏中依次单击工具/系统设置命令.在随后出现的设置窗日中选中常规标签.并在其后打开的标签页面中.将支持国际域名以及支持372{中文邮地址解析选项前面的勾号取消.再单击一下确定按钮.就能使设置生效了当然.要是你既想继续使用中文域名解析功能.又想避免黑客通过puny『ibdII文件漏洞攻击系统的话.可以~ljhttp://foxfoxmail.cornr.n/download处下载punylibdll文件的修正补丁然后将该补丁正确安装到系统中就可以消除这个漏洞了.防范IP欺骗IP欺骗由若干步骤组成首先,目标主机已经选定其次.信任模式已被发现,并找到了一个被目标主机信任的主机黑客为了进行JP欺骗.进行以下工作使得被信任的主机丧失工作能力同时采样目标主机发出的TCP序列号.猜测出它的数据序列号.然后伪装成被信任的主机同时建立起与目标主机基干地址验证的应用连接如果成功黑客可以使用一种简单的命令放置一个系统后门.以进行非授权操作一旦发现被信任的主机.为了伪装威它.往往使其丧失工作能力.由于攻击者将要代替真正的被信任主机.他必须确保真正被信任的主机不能接收到任何有效的网络数据.否则将会被揭穿.防止的要点在于.这种攻击的关键是相对粗糙的初始序列号变量在Berkeley系统中的改变速度. TCP协议需要这个变量每秒要增加25O0.次.Berkeley 使用的是相对比较慢的速度.但是.最重要的是是改变间隔而不是速度;我们可以通过抛弃基于地址的信任策略,进行包过滤,使用加密方法等方法实现有效防范;当有多种手段并存时可能加密方法最为适用=。

VC使对话框程序启动时隐藏窗口

VC使对话框程序启动时隐藏窗口

VC使对话框程序启动时隐藏窗口想让对话框程序隐藏启动,然后需要时又可以显示。

刚开始我也想到在OnInitDialog()中加上ShowWindow(SW_HIDE),其实这样是不行的,不信自己去试验找了网上的方法,都没有满足我的要求,自己总结了一个比较满意的方法。

定义一个bool b_show;//决定是否隐藏b_show=false;//默认隐藏可以在对话框中重载虚函数DefWindowProc()。

LRESULT CTest2Dlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam){if(message==133 ){if(b_show==false)ShowWindow(SW_HIDE);elseShowWindow(SW_SHOW);}return CDialog::DefWindowProc(message, wParam, lParam);}程序中想还原显示的时候可以b_show=true;this->ShowWindow(SW_SHOW);//-------------------------------------网上的相关资料-----------------------------------------------------------------------// 对于这类问题,大家最容易想到的可能就是在PreCreateWindow中添加cs.style &=~WS_VISIBLE;这是不可行的。

程序仍可使用ShowWindow()将窗体显示出来.1.基于对话框的程序我在论坛上看到有人说在OnInitDialog()中加上ShowWindow(SW_HIDE)对话框便不出现了,其实是不可行的。

至于原因,我认为是系统是在OnInitDialog()后调用ShowWindow(SW_SHOW)让对话框显示的.可以添加下面代码: CXXDlg::OnInitDialog(){...Sleep(5000);return TRUE;}可以发现5秒后对话框才显示出来.至于在何时调用的我也不清楚,但是我们可以在OnPaint()中加上ShowWindow(SW_HIDE),来达到隐藏的目的.不过使用的这种方法,会有一点闪烁.另外一种方法就是在OnInitDialog()中使用SetWindowPlacement()GetWindowPlacement(&m_wp); //恢复时用ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW );//从任务栏中去掉.WINDOWPLACEMENT wp;wp.length=sizeof(WINDOWPLACEMENT);wp.flags=WPF_RESTORETOMAXIMIZED;wp.showCmd=SW_HIDE;SetWindowPlacement(&wp);还有一种更简单的方法:在OnInitDialog()中调用下面代码.SetWindowPos(&wndTop,0,0,0,0,NULL);2.基于单文档的程序我们一般采用的方法就是将InitInstance()中的:CXXApp::InitInstance(){//m_pMainWnd->ShowWindow(SW_SHOW);}但是这样窗体还会有闪烁。

c#控制台程序隐藏控制台窗口

c#控制台程序隐藏控制台窗口
网络错误503请刷新页面重试持续报错请尝试更换浏览器或网络环境
c#控 制 台 程 序 隐 藏 控 制 台 窗 口
在某些项目中,需要采用控制台程序,但是又不需要通过dos窗口进行交互,同时打算隐藏掉难看的控制台窗口。实现的方法很多,有的是 修改链接命令。我采用的方法略有些麻烦,首先是给窗口命名,之后找到该窗口指针,之后再调用winAPI隐藏窗口。
7
8
static void Main(string[] args)
9
{
10
Console.Title = "WAHAHA";
11
IntPtr intptr = FindWindow("ConsoleWindowClass", "WAHAHA");
12
if (intptr != IntPtr.Zero)
13
{
14
ShowWindow(intptr, 0);//隐藏这个窗口
15
}
16
string x;
17
x = Console.ReadLine();
18
}
19 }
ቤተ መጻሕፍቲ ባይዱ
5
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
6
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
1 class Program
2{
3
[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]

PowerShell隐藏不显示窗口的多种方法

PowerShell隐藏不显示窗口的多种方法

PowerShell隐藏不显⽰窗⼝的多种⽅法启动PowerShell时隐藏⾃⼰的窗⼝假如我在计划任务中定时通过Powershell.exe来执⾏⼀个脚本⽂件,我想隐藏这个窗⼝,此时我们可以考虑使⽤PowerShell.exe的选项参数:复制代码代码如下:-WindowStyle将窗⼝样式设置为 Normal、Minimized、Maximized 或 Hidden。

复制代码代码如下:PowerShell.exe -WindowStyle Hidden -file '您的脚本.ps1'在PowerShell启动其它进程时隐藏窗⼝这个需求也能理解:复制代码代码如下:Start-Process notepad.exe -WindowStyle Hidden上⾯的脚本会启动⼀个隐藏的记事本程序。

使⽤PowerShell隐藏其它进程的窗⼝这是⼀个奇葩的需求,但是⽤户也有⼀番⾃⼰的理由:@scl95tx如是说:我已经实现了⼀个24⼩时不间断的Powershell脚本,有很多数据通过write-host命令输出到控制台(需要随时查看这些数据,确保server运⾏正常,所以后台运⾏我先不考虑),如果(由于操作失误)误点击控制台窗⼝,那么脚本就会停⽌执⾏,是否有办法把控制台隐藏起来,如果我想查看脚本的运⾏情况,再把控制台调出来:也就是有随时隐藏和调出来控制台的办法吗?这需求合情合理啊,接下来我们解决这个问题:复制代码代码如下:Add-Type @'[DllImport("user32.dll")]public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);'@ -name “Win32ShowWindowAsync” -namespace Win32APIFunction Set-ProcessWindowStyle{param([Parameter(Mandatory=$true,ValueFromPipeline=$true)][System.Diagnostics.Process]$Process,[ValidateSet("Show", "Minimized","Maximized","Hidden")][string]$WindowStyle="Show")$WinStateInt = 1switch($WindowState){"Hidden" {$WinStateInt = 0}"Show" {$WinStateInt = 1}"Maximize" {$WinStateInt = 3}"Minimize" {$WinStateInt = 6}}[Win32API.Win32ShowWindowAsync]::ShowWindowAsync($Process.MainWindowHandle,$WindowState)}写完上⾯的脚本后,我满⼼喜悦地进⾏测试,隐藏窗⼝成功:复制代码代码如下:Get-Process notepad | Set-ProcessWindowStyle -WindowStyle Hidden可是当我尝试调出隐藏的窗⼝时,执⾏返回false。

Matlab编译GUI时隐藏Dos控制台窗口

Matlab编译GUI时隐藏Dos控制台窗口

Matlab编译GUI时隐藏Dos控制台窗口Matlab所写的GUI编译后运行时总是先出现一个DOS控制台窗口。

这个窗口可以返回一些错误信息或程序里的fprintf的输出等。

但实在是影响GUI程序的美观,那么如何去掉这个窗口呢?下边是comp.soft-sys.matlab 里找到的解决方法。

cd(prefdir)edit compopts.bat (此时compopts.bat打开,在文件最后添加)Add following line to your options file before you compile:LCC:set LINKFLAGS=%LINKFLAGS% -subsystem windowsMicrosoft Visual C/C++:set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartupBorland:set LINKFLAGS=%LINKFLAGS% -aaIf you do not have this line, the system defaults to building aconsole application.mcc -m VLPR.m –a myico.jpg -a gui.bmp -a cpzhe2.bmp -a cpzhe1.bmp -a cpzhe.bmp -a cpsu1.bmp -a CPSU.BMP -a CPJING.BMP -a cphu.bmp -a cpgui.bmp -a 33.BMP -a 32.BMP -a 31.BMP -a 30_1.BMP -a 30.BMP -a 29.BMP -a 28.BMP -a 27.BMP -a 26.BMP -a 26_1.BMP -a 25.BMP -a 24.BMP -a 23.BMP -a 22.BMP -a 21.BMP -a 20.BMP -a 19.BMP -a 18.BMP -a 17_1.BMP -a 17.BMP -a 16.BMP -a 15.BMP -a 14.BMP -a 13.BMP -a 13_1.BMP -a 12.BMP -a 12_1.BMP -a 11.BMP -a 11_1.BMP -a 11_2.BMP -a 10_1.BMP -a 10.BMP -a 9.BMP -a 8.BMP -a 8_1.BMP -a 8_2.BMP -a 8_3.BMP -a 8_4.BMP -a 7.BMP -a 6.BMP -a 6_1.BMP -a 5.BMP -a 5_1.BMP -a 5_2.BMP -a 5_3.BMP -a 4.BMP -a 3.BMP -a 2.BMP -a 2_1.bmp -a 2_2.bmp -a 2_3.bmp -a 1_2.bmp -a 1_1.bmp -a 1.jpg -a 1.bmp -a 0.BMP -a 0_1.bmp -m vlpr.res。

  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()函数启动一个新的线程来显示一个新窗口的。

相关文档
最新文档