Imports System.Runtime.InteropServices
乌苏网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
Module winapi
DllImport("User32.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="GetWindowThreadProcessId") _
Function GetWindowThreadProcessId(ByVal hwnd As IntPtr, ByRef procId As UInt32) As UInt32
End Function
DllImport("kernel32.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="OpenProcess") _
Function OpenProcess(ByVal access As UInt32, ByVal inherit As Boolean, ByVal procid As UInt32) As IntPtr
End Function
DllImport("kernel32.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="CloseHandle") _
Function CloseHandle(ByVal handle As IntPtr) As Boolean
End Function
DllImport("psapi.dll", CallingConvention:=CallingConvention.StdCall, EntryPoint:="GetModuleFileNameExW", Charset:=CharSet.Unicode) _
Function GetModuleFileNameExW(ByVal hProc As IntPtr, ByVal hMod As IntPtr, ByVal arrName() As Char, ByVal arrSize As UInt32) As UInt32
End Function
End Module
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim procid As UInt32
GetWindowThreadProcessId(Me.Handle, procid)
Dim handle As IntPtr
handle = OpenProcess(1040, False, procid)
Dim name(65536) As Char
Dim nameSize As UInt32 = GetModuleFileNameExW(handle, IntPtr.Zero, name, 65536)
Dim strName As String = New String(name, 0, nameSize)
CloseHandle(handle)
MsgBox(strName)
End Sub
End Class
可恶……我不会vb……临时去七拼八凑查了点语法……尽力了
使用ShowWindow函数,便可轻松控制窗口的显隐,最小化,最大化。
概述
函数功能:该函数设置指定窗口的显示状态。
函数原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);
*/第一个参数为句柄,第二个参数选下面的值
#define SW_HIDE 0
#define SW_SHOWNORMAL 1
#define SW_NORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_SHOWMAXIMIZED 3
#define SW_MAXIMIZE 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11
参数含义
hWnd:指窗口句柄。
nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。在随后的调用中,该参数可以为下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。
SW_HIDE:隐藏窗口并激活其他窗口。
SW_MAXIMIZE:最大化指定的窗口。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。
SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。
SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。
SW_SHOWMAXIMIZED:激活窗口并将其最大化。
SW_SHOWMINIMIZED:激活窗口并将其最小化。
SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然维持激活状态。
SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。
SW_SHOWNORMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。
不过顺便说一句,SendKeys会偶尔造成指令丢失,不可避免。不管你激活窗口还是最大化窗口或者锁定都没办法完全避免。
1,任务管理器里面的进程名要改。只需在你生成EXE时。把文件名修改就行了。
2,如果任务管理器里面的应用程序的名要改,只需在生成EXE时,点选项按钮,进入里面把标题改了就行了。
如果你改了文件名,那么你的程序在桌面上显示的名字和你的进程名是一样的。
通常的软件或游戏都是任务管理器里的应用程序名是中文,而进程名是英文,所以你可以通过上面的方法,修改成你要的结果。
希望这答案能帮到你。
FindWindowEx
VB声明
Declare Function FindWindowEx Lib "user32" Alias
"FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As
String, ByVal lpsz2 As String) As Long
说明
在窗口列表中寻找与指定条件相符的第一个子窗口
返回值
Long,找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
参数表
参数
类型及说明
hWnd1
Long,在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)
hWnd2
Long,从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索
lpsz1
String,欲搜索的类名。零表示忽略
lpsz2
String,欲搜索的类名。零表示忽略