| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3693 人关注过本帖
标题:这个错错误在哪里?怎么搞都提示程序没有打开!我是新手,请指正!
取消只看楼主 加入收藏
uxljhc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
这个错错误在哪里?怎么搞都提示程序没有打开!我是新手,请指正!
  '查找进程句柄的快照
    Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Integer, ByRef lProcessID As Integer) As Integer
    '获得第一个进程的句柄
    Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Integer, ByRef uProcess As PROCESSENTRY32) As Integer
    '获得下一个进程的句柄
    Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Integer, ByRef uProcess As PROCESSENTRY32) As Integer
    '关闭打开的API句柄
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Integer) As Integer
    Private Const TH32CS_SNAPPROCESS = &H2
    Private Const TH32CS_SNAPheaplist = &H1
    Private Const TH32CS_SNAPthread = &H4
    Private Const TH32CS_SNAPmodule = &H8
    Private Const TH32CS_SNAPall = TH32CS_SNAPPROCESS + TH32CS_SNAPheaplist + TH32CS_SNAPthread + TH32CS_SNAPmodule

    Private Structure PROCESSENTRY32
        Dim dwSize As Integer
        Dim cntUseage As Integer
        Dim th32ProcessID As Integer
        Dim th32DefaultHeapID As Integer
        Dim th32ModuleID As Integer
        Dim cntThreads As Integer
        Dim th32ParentProcessID As Integer
        Dim pcPriClassBase As Integer
        Dim swFlags As Integer
        Dim szExeFile As String
    End Structure

    Private Sub demo()
        Dim MySnapHandle As Integer
        Dim ProcessInfo As PROCESSENTRY32
        MySnapHandle = CreateToolhelpSnapshot(TH32CS_SNAPall, 0)
        ProcessInfo.dwSize = Strings.Len(ProcessInfo)
        If ProcessFirst(MySnapHandle, ProcessInfo) <> 0 Then
            Do
                If Strings.Left(Strings.LCase(ProcessInfo.szExeFile), Strings.InStr(ProcessInfo.szExeFile, ".") + 3) = "notepad.exe" Then
                    '遍历进程,查找notepad.exe,找到后执行操作.......
                    MsgBox("写字本已打开")
                    Exit Do
                End If
            Loop While ProcessNext(MySnapHandle, ProcessInfo) <> 0
        Else
            MsgBox("写字本没有打开")
        End If
        CloseHandle(MySnapHandle)
    End Sub



    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        demo()

    End Sub
2016-06-01 14:48
uxljhc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-24
收藏
得分:0 
怎么没有人回答呢?我自已顶一下、
2016-06-01 15:18
uxljhc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-24
收藏
得分:0 
为什么在程序启动的时候 Process32First(MySnapHandle, ProcessInfo) 始终等于0呢?
2016-06-01 16:37
快速回复:这个错错误在哪里?怎么搞都提示程序没有打开!我是新手,请指正!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019664 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved