使用者工具

網站工具


visual_basic_dot_net

這是本文件的舊版!


Visual Basic.Net 研究

COM PORT

VB.net
转义符 字符名
“” : “
成员 常量 等效 说明
—————————————————————————
CrLf vbCrLf Chr(13) + Chr(10) 回车/换行组合符。 (ControlChars.CrLf)
Cr vbCr Chr(13) 回车符。
Lf vbLf Chr(10) 换行符。
NewLine vbNewLine Chr(13) + Chr(10) 新行符。

Imports System.IO.Ports
Public commPort As New IO.Ports.SerialPort 宣告給外部使用
Dim commPort As New IO.Ports.SerialPort 只宣告給內部使用

commPort.IsOpen
commPort.write
commPort.read 此功能會造成阻塞,須先讀取 BytesToRead 確認有資料再使用 Read讀取實際資料
commPort.ReadLine
comport.BytesToRead 讀取此參數不會造成阻塞

COM port 屬性宣告
commPort.PortName
commPort.BaudRate
commPort.DataBits
commPort.Parity
commPort.StopBits
commPort.Handshake
commPort.WriteBufferSize
commPort.ReadBufferSize

執行外部程式

Imports System.Diagnostics 
'方法 1:
Process.Start("C:\F4G\BIN\F4EDVPDE.EXE", "/LC /P")

Dim p As New Process
' 方法 2:
Dim pi1 As New Diagnostics.ProcessStartInfo( _
  "C:\F4G\BIN\F4EDVPDE.EXE", "/LC /P")
p.StartInfo = pi1
p.Start()

' 方法 3:
Dim pi2 As New Diagnostics.ProcessStartInfo( _
  "C:\F4G\BIN\F4EDVPDE.EXE")
pi2.Arguments = "/LC /P"
p.StartInfo = pi2
p.Start()

如果你想在VB字符串文字中包含双引号,那么只需用另一个双引号来转义它,例如

Process.Start(App.exe, "arg1 ""arg 2"" arg3")''

与任何其他字符串一样,您可以使用连接:

Process.Start(App.exe, "arg1 """ & arg2 & """ arg3")''

或致电String.Format:

Process.Start(App.exe, String.Format("arg1 ""{0}"" arg3", arg2))''

或使用字符串插值:

 Process.Start(App.exe, $"arg1 ""{arg2}"" arg3")'' 

聲音控制

Imports System
Imports System.Windows.Forms
Imports System.Runtime.InteropServices

Partial Public Class Form1
	Inherits Form
	Private Const APPCOMMAND_VOLUME_MUTE As Integer = &H80000
	Private Const APPCOMMAND_VOLUME_UP As Integer = &HA0000
	Private Const APPCOMMAND_VOLUME_DOWN As Integer = &H90000
	Private Const WM_APPCOMMAND As Integer = &H319

	<DllImport("user32.dll")> _
	Public Shared Function SendMessageW(ByVal hWnd As IntPtr, _
                           ByVal Msg As Integer, ByVal wParam As IntPtr, _
	       ByVal lParam As IntPtr) As IntPtr
    End Function

    Private Sub btnMute_Click(ByVal sender As Object, ByVal e As EventArgs)
	                 SendMessageW(Me.Handle, WM_APPCOMMAND, _
                         Me.Handle, New IntPtr(APPCOMMAND_VOLUME_MUTE))
    End Sub

    Private Sub btnDecVol_Click(ByVal sender As Object, ByVal e As EventArgs)
                      SendMessageW(Me.Handle, WM_APPCOMMAND, _
                          Me.Handle, New IntPtr(APPCOMMAND_VOLUME_DOWN))
    End Sub

    Private Sub btnIncVol_Click(ByVal sender As Object, ByVal e As EventArgs)
            SendMessageW(Me.Handle, WM_APPCOMMAND, _
                         Me.Handle, New IntPtr(APPCOMMAND_VOLUME_UP))
    End Sub
End Class
visual_basic_dot_net.1713141137.txt.gz · 上一次變更: 2024/04/15 08:32 由 don