精华内容
下载资源
问答
  • vb 运行外部程序

    2009-06-09 11:32:00
    在网上找了半天都是用ShellExecute来运行外部程序,我自己弄了半天也没弄明白怎么弄,所以只好找其他的方法了Dim p As New ProcessDim pi As New ProcessStartInfopi.Verb = "open"也可以是printpi.WindowStyle = ...

    在网上找了半天都是用ShellExecute来运行外部程序,我自己弄了半天也没弄明白怎么弄,所以只好找其他的方法了

    展开全文
  • Imports System.Threading '精确计量程序运行时间的STOPWATCH Module Module1 Sub Main1() ' Create new Stopwatch instance. Dim watc
    Imports System.Threading
    '精确计量程序运行时间的STOPWATCH
    Module Module1
        Sub Main1()
            ' Create new Stopwatch instance.
            Dim watch As New Diagnostics.Stopwatch
            watch.Start()     '启动
    
            ' Measure.
            For i As Integer = 0 To 1000 - 1
                Threading.Thread.Sleep(1)
            Next
    
            ' 停止并显示时间
            watch.Stop()
            Console.WriteLine(watch.Elapsed.TotalMilliseconds)
    
            ' This isn't measured.
            For i As Integer = 0 To 1000 - 1
                Threading.Thread.Sleep(1)
            Next
    
            ' Begin measuring again.
            watch.Start()
    
            ' Measure.
            For i As Integer = 0 To 1000 - 1
                Threading.Thread.Sleep(1)
            Next
    
            ' Stop measuring again (not always needed).
            watch.Stop()
            Console.WriteLine(watch.Elapsed.TotalMilliseconds)
    
            Console.ReadLine()
        End Sub
    
    
        Sub Main2()
            ' Create a Stopwatch and sleep for zero milliseconds.
            Dim stopwatch As New Diagnostics.Stopwatch   ' = stopwatch.StartNew
            stopwatch.Start()
    
            Thread.Sleep(0)
            stopwatch.Stop()
    
            ' Write the current time.
            Console.WriteLine(stopwatch.ElapsedMilliseconds)
            Console.WriteLine(DateTime.Now.ToLongTimeString)
    
            ' Start a new Stopwatch.
            stopwatch = stopwatch.StartNew
            Thread.Sleep(5000)
            stopwatch.Stop()
            Console.WriteLine(stopwatch.ElapsedMilliseconds)
            Console.WriteLine(DateTime.Now.ToLongTimeString)
    
            ' Start a new Stopwatch.
            stopwatch = stopwatch.StartNew
            Thread.Sleep(1000)
            stopwatch.Stop()
            Console.WriteLine(stopwatch.ElapsedMilliseconds)
    
            ' Start a new Stopwatch and use SpinWait.
            stopwatch = stopwatch.StartNew
            Thread.SpinWait(1000000000)
            stopwatch.Stop()
            Console.WriteLine(stopwatch.ElapsedMilliseconds)
    
            Console.ReadLine()
        End Sub
    
    
        Sub Main()
            'Dim sw As New Diagnostics.Stopwatch
            'sw.Start()
    
            'For i As Integer = 0 To 100000
            '    For k As Integer = 0 To 100000
    
            '    Next
            'Next
            'sw.Stop()
            'Console.WriteLine(sw.ElapsedMilliseconds)
            'Console.ReadLine()
    
    
        End Sub
    
    End Module
    
    

     
    展开全文
  • VB程序运行时用鼠标拖动改变控件大小的2种方法 就像鼠标放到窗口边缘改变窗口大小一样
  • 主要介绍了C#实现只运行单个实例应用程序方法,本文使用的是VB.Net的IsSingleInstance方法实现,优于Mutex 和 Process 这两种只运行单个应用程序实例的方法,需要的朋友可以参考下
  • VB开机运行程序

    2008-08-24 11:22:00
    有两种方法,1是注册表方式模块代码Option ExplicitPublic Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal...

    有两种方法,1是注册表方式

    模块代码

    1. Option Explicit
    2. Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As LongByVal lpValueName As StringByVal Reserved As LongByVal dwType As Long, lpData As Any, ByVal cbData As LongAs Long
    3. Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As LongByVal lpSubKey As String, phkResult As LongAs Long
    4. Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As LongAs Long
    5. Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As LongByVal lpValueName As StringAs Long
    6. Public Const REG_SZ = 1
    7. Public Const HKEY_LOCAL_MACHINE = 
    8. '*************************************************************************
    9. '**函 数 名: SetAutoRun
    10. '**输    入: ByVal Autorun(Boolean) -
    11. '**输    出: 无
    12. '**功能描述: 随WINDOWS自动启动/取消启动模块
    13. '**全局变量:
    14. '**调用方法: Call SetAutoRun(True/False)
    15. '**作    者: Mr.David
    16. '**日    期: 2006-09-05 09:07:25
    17. '**修 改 人:
    18. '**日    期:
    19. '**版    本: V1.0.0
    20. '*************************************************************************
    21. Public Sub SetAutoRun(ByVal Autorun As Boolean)
    22.     Dim KeyId As Long
    23.     Dim MyexePath As String
    24.     Dim regkey As String
    25.     
    26.     MyexePath = App.Path & "/" & App.EXEName & ".exe" '获取程序位置
    27.     regkey = "Software/Microsoft/Windows/CurrentVersion/Run" '键值位置变量
    28.     Call RegCreateKey(HKEY_LOCAL_MACHINE, regkey, KeyId) '建立
    29.     
    30.     If Autorun Then
    31.         RegSetValueEx KeyId, "MySoftware", 0&, REG_SZ, ByVal MyexePath, LenB(MyexePath)
    32.     Else
    33.         RegDeleteValue KeyId, "MySoftware"
    34.     End If
    35.     RegCloseKey KeyId
    36. End Sub
    37. 调用方法
    38. SetAutoRun(ByVal Autorun As Boolean)
    39. '2是利用Vb5stkit.dll里面的函数
    40. '窗体部分代码,加入6个按钮
    41. Option Explicit
    42. Private Sub CmdAddStartup_Click()       '在开始菜单的启动程序组下创建记事本的快捷方式
    43.     Call OSfCreateShellLink("/启动""记事本", GetWindowsPath & "/Notepad.exe""")
    44. End Sub
    45. Private Sub CmdAddDeskTop_Click()       '在桌面创建记事本的快捷方式
    46.     Call OSfCreateShellLink("../../桌面""记事本", GetWindowsPath & "/Notepad.exe""")
    47. End Sub
    48. Private Sub CmdAddProgram_Click()       '在程序菜单的Notepad程序组下创建记事本的快捷方式
    49.     Call OSfCreateShellGroup("Notepad"'先建立程序组
    50.     Call OSfCreateShellLink("Notepad""记事本", GetWindowsPath & "/Notepad.exe""")
    51. End Sub
    52. Private Sub CmdAddStartMenu_Click()
    53.     Dim i As Long
    54.     For i = 1 To 5                     '在开始菜单创建记事本的快捷方式,必须用循环才能创建?
    55.         
    56.         Call OSfCreateShellLink("../../「开始」菜单""记事本", GetWindowsPath & "/Notepad.exe""")
    57.     Next
    58. End Sub
    59.     
    60. Private Sub CmdQuickLaunch_Click()     '在快捷工具栏下创建记事本的快捷方式
    61.     Call OSfCreateShellLink("../../Application Data/Microsoft/Internet Explorer/Quick Launch""记事本", GetWindowsPath & "/Notepad.exe""")
    62. End Sub
    63. Private Sub CmdDelAllLink_Click()
    64.     Call OSfRemoveShellLink("../../「开始」菜单""记事本")         '删除开始菜单上的快捷方式
    65.     Call OSfRemoveShellLink("../../桌面""记事本")                 '删除桌面上的快捷方式
    66.     'Call OSfRemoveShellLink("Notepad", "记事本")                   '删除Notepad程序组下的快捷方式,这样不能删除程序组
    67.     
    68.     Call RemoveShellGroup                                           '删除Notepad程序组下的快捷方式
    69.     Call OSfRemoveShellLink("/启动""记事本")                      '删除启动菜单下的快捷方式
    70.     Call OSfRemoveShellLink("../../Application Data/Microsoft/Internet Explorer/Quick Launch""记事本")     '删除快捷工具栏下的快捷方式
    71. End Sub
    72. Private Sub RemoveShellGroup()
    73.     On Error GoTo ToExit '打开错误陷阱
    74.     '------------------------------------------------
    75.     'RmDir删除一个存在的目录或文件夹。语法RmDir Path
    76.     '必要的 path 参数是一个字符串表达式,用来指定要删除的目录或文件夹。path 可以包含驱动器。如果没有指定驱动器,则 RmDir 会在当前驱动器上删除目录或文件夹。
    77.     '说明如果想要使用 RmDir 来删除一个含有文件的目录或文件夹,则会发生错误。在试图删除目录或文件夹之前,先使用 Kill 语句来删除所有文件。
    78.     Kill (GetProgarmPath(Me.hWnd) & "/Notepad/记事本.lnk")
    79.     RmDir (GetProgarmPath(Me.hWnd) & "/Notepad")
    80.     '------------------------------------------------
    81.     Exit Sub
    82.     '----------------
    83. ToExit:
    84.     Resume Next
    85. End Sub
    86. '模块代码
    87. Option Explicit
    88. '-----------------------------------------------------
    89. '               创建和删除快捷方式
    90. '-----------------------------------------------------
    91. '               洪恩在线  求知无限
    92. '-----------------------------------------------------
    93. '------名称-------------------作用--------------------
    94. '       CmdAddStartup             "创建启动程序组快捷方式"
    95. '       CmdAddDeskTop             "创建桌面快捷方式"
    96. '       CmdAddStartMenu           "创建开始菜单快捷方式"
    97. '       CmdAddProgram             "创建程序组下的快捷方式"
    98. '       CmdQuickLaunch            "创建快捷工具栏的快捷方式"
    99. '       CmdDelAllLink             "删除所有快捷方式"
    100. '-----------------------------------------------------
    101. '要在VB中创建Windows的快捷方式,需要用到VB的一个动态链接库
    102. 'Vb5stkit.dll。在该动态链接库中提供了三个函数
    103. 'OSfCreateShellGroup、OSfCreateShellLink、OSfRemoveShellLink
    104. '分别用于创建快捷方式程序组、创建快捷方式和删除快捷方式。
    105. '-----------------------------------------------------
    106. Declare Function OSfCreateShellGroup Lib "Vb5stkit.dll" _
    107.         Alias "fCreateShellFolder" (ByVal lpstrDirName As StringAs Long
    108.         
    109. 'lpstrDirName指定了程序组的名称
    110. '-----------------------------------------------------
    111. Declare Function OSfCreateShellLink Lib "Vb5stkit.dll" _
    112.         Alias "fCreateShellLink" (ByVal lpstrFolderName As String, _
    113.         ByVal lpstrLinkName As StringByVal lpstrLinkPath As StringByVal lpstrLinkArguments As StringAs Long
    114.         
    115. 'lpstrfoldername指定保存快捷方式的文件夹
    116. 'lpstrlinkname指定快捷方式的文件名
    117. 'lpstrLinkpathe指定快捷方式所指向的应用程序或文件
    118. 'lpstrLinkArguments是程序运行所需的参数
    119. '-----------------------------------------------------
    120. Declare Function OSfRemoveShellLink Lib "Vb5stkit.dll" Alias _
    121.         "fRemoveShellLink" (ByVal lpstrFolderName As StringByVal lpstrLinkName As StringAs Long
    122. '获取Windows目录
    123. Private Declare Function GetWindowsDirectory Lib "kernel32" Alias _
    124.                           "GetWindowsDirectoryA" (ByVal lpBuffer As StringByVal nSize As LongAs Long
    125. '获得文件夹路径
    126. Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As LongByVal lpszPath As StringByVal nFolder As LongByVal fCreate As LongAs Long
    127. Private Const Max_Path = 260       '缓冲区大小
    128. Private Const CSIDL_PROGRAMS = &H2 '程序组常量
    129. '*************************************************************************
    130. '**函 数 名: GetWindowsPath
    131. '**输    入: 无
    132. '**输    出: (String) -
    133. '**功能描述: 得到Windows路径
    134. '**全局变量:
    135. '**调用模块:
    136. '**作    者: Mr.David
    137. '**日    期: 2006-09-19 19:49:17
    138. '**修 改 人:
    139. '**日    期:
    140. '**版    本: V1.0.0
    141. '*************************************************************************
    142. Public Function GetWindowsPath() As String
    143.     Dim ChrLen As Long, WinDir As String
    144.     WinDir = Space$(Max_Path)
    145.     ChrLen = GetWindowsDirectory(WinDir, Max_Path)
    146.     WinDir = Left$(WinDir, ChrLen)
    147.     GetWindowsPath = WinDir
    148. End Function
    149. '*************************************************************************
    150. '**函 数 名: GetProgarmPath
    151. '**输    入: frmHwnd(Long) -
    152. '**输    出: (String) -
    153. '**功能描述: 获取开始菜单程序组的路径
    154. '**全局变量:
    155. '**调用模块:
    156. '**作    者: Mr.David
    157. '**日    期: 2006-09-19 19:48:16
    158. '**修 改 人:
    159. '**日    期:
    160. '**版    本: V1.0.0
    161. '*************************************************************************
    162. Public Function GetProgarmPath(frmHwnd As LongAs String
    163.     Dim CSILD_NUM As Long, strBouff As String
    164.     strBouff = String$(Max_Path, 0)
    165.     SHGetSpecialFolderPath frmHwnd, strBouff, CSIDL_PROGRAMS, 0
    166.     GetProgarmPath = Left$(strBouff, InStr(1, strBouff, Chr$(0)) - 1)
    167. End Function
    168. 方法3
    169. 先引用系统里面都有的WSHom.Ocx
    170. Option Explicit
    171. '*************************************************************************
    172. '**函 数 名: SetAutoRun
    173. '**输    入: ByVal Autorun(Boolean) -
    174. '**输    出: 无
    175. '**功能描述: 随WINDOWS自动启动/取消启动模块
    176. '**全局变量:
    177. '**调用方法: Call SetAutoRun(True/False)
    178. '**作    者: Mr.David
    179. '**日    期: 2006-09-05 09:07:25
    180. '**修 改 人:
    181. '**日    期:
    182. '**版    本: V1.0.0
    183. '*************************************************************************
    184. Public Sub SetAutoRun(ByVal Autorun As Boolean)
    185.     
    186.     'WshShell 对象
    187.     'ProgId Wscript.Shell
    188.     '文件名 WSHom.Ocx
    189.     
    190.     Dim WshShell As WshShell
    191.     
    192.     Set WshShell = CreateObject("Wscript.Shell")
    193.     
    194.     If Autorun Then
    195.         WshShell.RegWrite "HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/" & App.EXEName, App.Path & "/" & App.EXEName & ".exe"
    196.     Else
    197.         WshShell.RegDelete "HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/" & App.EXEName
    198.     End If
    199.     
    200.     Set WshShell = Nothing
    201.     
    202. End Sub
    展开全文
  • Vb.Net防止同一程序重复运行方法

    千次阅读 2007-11-27 22:08:00
    *****************方法一:防止程序多次打开***************** 函数名: IsInstanceRunning 功 能: 判断工程是否已运行 参 数: 无 返回值: True 已运行 False 未运行 *****************************************...
    防止同一个程序多次运行。 
    '*****************方法一:防止程序多次打开*****************
    ' 函数名: IsInstanceRunning
    ' 功 能: 判断工程是否已运行
    ' 参 数: 无
    ' 返回值: True 已运行 False 未运行
    '*******************************************************
    Public Function IsInstanceRunning() As Boolean
    Dim current As Process = System.Diagnostics.Process.GetCurrentProcess()
    Dim processes As Process() = System.Diagnostics.Process.GetProcessesByName(current.ProcessName)
    'Loop through the running processes in with the same name
    Dim p As Process
    For Each p In processes
    'Ignore the current process
    If p.Id <> current.Id Then
    'Make sure that the process is running from the exe file.
    If System.Reflection.Assembly.GetExecutingAssembly().Location.Replace("/", "/") = current.MainModule.FileName Then
    'Return the other process instance.
    Return True
    End If
    End If
    Next
    'No other instance was found, return null.
    Return False
    End Function 'RunningInstance

    '*****************方法二:防止程序多次打开*****************
    Imports System.Diagnostics
    If UBound(Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName)) _
    > 0 Then Eixt Sub
    'Process.GetCurrentProcess.ProcessName 获取当前运行程序的名称。 
    展开全文
  • 一个程序也许会被多个用户运行,如下:那在VB.NET的WinForm环境下,怎样获取User Name呢?可从下面的方法: 代码: Public Shared Function GetProcessOwner(ByVal ProcessName As String) As String Dim po...
  • VB.NET控制台程序获取程序运行路径

    千次阅读 2015-11-08 13:58:10
    有个项目以前用VB.net写的,想增加一个写日志功能,以方便定位程序的一些问题,转化的工作又比较多,于是乎考虑还是优化一下吧。 找了几个获取路径的函数,发现都是获取的环境路径,而本程序需要获取的是程序路径,...
  • VB 开机自动运行程序

    2011-03-09 10:32:25
    以下列出三种不同方法的代码供大家参考1、注册表方式模块代码 Option ExplicitPublic Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ...
  • VB 避免程序二次运行

    2008-04-25 10:24:00
    Private Sub Form_Load()If App.PrevInstance Then MsgBox "程序已在运行。", vbInformation, "系统" EndEnd IfEnd Sub以上这种方法,是只针对于同目录同名的程序,下面还有一种方法是通过API函数实现的...
  • VB程序错误处理方法

    2014-05-03 13:11:37
    大家知道,即使顺序员抱有最好的愿望,而且计划工作做得非常周密,也无法防止代码泛起...假如一个历程中包含了编译错误,VB将不执行该历程,并且我们也不能向用户提供带有编译错误的运行期版本应用顺序,大多数编译错
  • 开场白:很多程序,如WINDOWS MEDIA PLAYER,在程序第二次打开,第一次的程序并未关闭时,会自动激活第一次运行程序,而且会自动把选取的音乐添加到第一次的那个程序的播放列表里,这是如何作到的呢? 思路:利用...
  • 怎样让VB6程序只能运行一次

    千次阅读 2013-12-05 17:02:54
    Call MsgBox("对不起本程序已在运行中, 不得重复加载!!", vbCritical) End End If 优点:简单方便、 缺点:针对性不强、随意复制一份即可再次运行方法二:创建互斥体(个人比较喜欢) Private Declare ...
  • VB通过注册表方法实现程序开机自启动一例,随WINDOWS自动启动/取消启动模块,目前来说,很多软件都有开机自动运行一个线程的功能,类似于本程序,不过你首先应考虑是否有这个必要,因为Windows的任务栏是有限的,...
  • VB程序运行时显示 ocx 控件的属性页的方法

    千次阅读 热门讨论 2005-11-04 08:57:00
    这篇文章只是回答CSDN网友standys2004提出的问题的,所以,您大可以略过不看 首先,COM对象如果要支持属性页...在vb中实现ISpecifyPropertyPages接口需要我们了解ODL语言,编好ODL文件后,再编译为TLB文件,这里,我
  • VB 查询程序

    2011-09-12 20:29:16
    VB 嵌套 查询 本例在程序代码中设置的数据库文件的打开等操作,使用的是相对路径的方法进行实现,要保证程序能正常运行,需要使本例应用程序与数据库文件在同级目录下.
  • '方法一: Private Function IsIDE() As Boolean Static bInIDE As Boolean bInIDE = Not bInIDE If bInIDE Then Debug.Assert IsIDE() Or True IsIDE = Not bInIDE End If End Functi
  • Environment.GetCommandLineArgs ...创建一个快捷方式,然后在里面加固定参数,程序调用方法: Private Sub FrmMain_Load(sender As Object,
  • VB无所不能之六:对程序运行的监控

    千次阅读 热门讨论 2010-04-16 16:00:00
    VB无所不能之六:对程序运行的监控 ——作者:钟声博客地址:http://blog.csdn.net/useway 转眼间,本系列文章已经写到了... 首先,说一说,VB对于被调用后的程序的监控方法。 原型函数简介: WaitForSingleObject
  • 如何让你的 VB 程序运行的更加高效

    千次阅读 2012-06-13 01:18:41
     提高代码运行速度最简单的方法莫过于使用正确的数据类型了。也许你不相信,但是正确地选择数据类型可以大幅度提升代码的性能。在大多数情况下,程序员可以将Single,Double和Currency类型的变量替换为Integer或...
  • 一个软件如何才能是它运行的时候一定要插一个加密狗才能运行 求一个简单的方法就行
  • 查找文件中包含的关键字,适合于编写script的朋友,采用递归方法运行需要VB6运行库。
  • 之前,我负责一个VB6编写的办公自动化系统,要求能在运行时,支持在不同语言间切换(英文,中文,日文,德文,法文和西班牙文);实质就是实现一个VB6的MUI程序. 这个需要的困难在于VB6显示文本的标准控件(Label,Textbox等)...
  • 可以从获取当前过程的名称为开始,你可以通过调用过程对象的GetCurrentProcess方法来达到这一目的。这是一个公共的方法,所以无需建立一个过程对象的实例。
  • 本文实例主要实现了VB调用外部exe程序运行的功能,这里主要是使用shell函数来执行,shell函数主要用来打开一个外部的exe可执行文件,例如,在sub模块内:Shell "notepad", vbNormalFocus,代表以正常模式运行...
  • VB对注册表操作程序开机时运行

    千次阅读 2005-07-24 10:48:00
    VB对注册表操作程序开机时运行 我们可以看到一些程序在开机时就会自动运行,象Winpopup就是这样的,这是怎么实现的呢?可以把需要运行程序添加到“开始”-“程序”-“启动”中,还有一种方法就是写入注册表了,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,031
精华内容 412
关键字:

vb运行程序方法