vb点虐 程序进程名 vbnet doevent

vb点虐 如何通过窗口句柄获取进程名

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……临时去七拼八凑查了点语法……尽力了

Vb点虐 中已知某程序的进程id,如果激活该程序并最大化?

使用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会偶尔造成指令丢失,不可避免。不管你激活窗口还是最大化窗口或者锁定都没办法完全避免。

VB如何修改进程名?

1,任务管理器里面的进程名要改。只需在你生成EXE时。把文件名修改就行了。

2,如果任务管理器里面的应用程序的名要改,只需在生成EXE时,点选项按钮,进入里面把标题改了就行了。

如果你改了文件名,那么你的程序在桌面上显示的名字和你的进程名是一样的。

通常的软件或游戏都是任务管理器里的应用程序名是中文,而进程名是英文,所以你可以通过上面的方法,修改成你要的结果。

希望这答案能帮到你。

vb点虐 窗口句柄获取进程名

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,欲搜索的类名。零表示忽略


网站名称:vb点虐 程序进程名 vbnet doevent
标题路径:http://cdiso.cn/article/ddchcpc.html

其他资讯