1. vb中怎麼尋路徑!!!
'在窗體中添加一個CommandButton,將下面的代碼放入窗體代碼中
'用其它的方式也可以,但如Environ("userprofile")+ "\桌面\"方式這類的可能會出錯,比如在繁體系統或是英文系統中根本就沒有「桌面」這個目錄,英文系統中是"DeskTOP",還有一些系統中可能自定義了桌面路徑,如在我自己的電腦上是系統在C:盤而桌面路徑被定義到了F:\MyData\DeskTOP中(防止Ghost的時候桌面丟失)。這下面這個函數的話修改不同參數可以獲取Windows系統中的大部分特殊目錄(桌面、我的文檔、字體等等,具體可以看說明),而且獲取到的目錄都是以系統當前設置為准。使用時只要把代碼保存在一個模塊中,調用時一個函數搞定。
Private Sub Command1_Click()
MsgBox GetWinPath(CSIDL_DESKTOP)
End Sub
'將下面的代碼放入一個模塊中
'*************************************************************************************************
'******************** 作者: 南宮飄雪 ******************************************
'******************** Email: [email protected] ******************************************
'******************** QQ: 42978116 ******************************************
'*************************************************************************************************
Private Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long
Private Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pIdl As Long, ByVal szPath As String) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Const thePathMaxLen = 1024
Public Enum SHSpecialFolderIDs '注釋:列出所有Windows下特殊文件夾的ID
CSIDL_DEFAULT = &HFF '默認,一般為空
CSIDL_DESKTOP = &H0 '「桌面」目錄
CSIDL_INTERNET = &H1
CSIDL_PROGRAMS = &H2 '「程序」目錄
CSIDL_CONTROLS = &H3
CSIDL_PRINTERS = &H4
CSIDL_PERSONAL = &H5 '「我的文檔」目錄
CSIDL_FAVORITES = &H6 '「收藏夾」目錄
CSIDL_STARTUP = &H7 '「啟動」目錄
CSIDL_RECENT = &H8 '「最近文檔」目錄
CSIDL_SENDTO = &H9 '「發送到...」目錄
CSIDL_BITBUCKET = &HA
CSIDL_STARTMENU = &HB '「開始」菜單目錄
CSIDL_DESKTOPDIRECTORY = &H10
CSIDL_DRIVES = &H11
CSIDL_NETWORK = &H12 'NETWORK目錄
CSIDL_NETHOOD = &H13 'NETHOOD目錄
CSIDL_FONTS = &H14 '「字體」目錄
CSIDL_TEMPLATES = &H15 'TEMPLATES目錄
CSIDL_COMMON_STARTMENU = &H16 '公用「開始」菜單目錄
CSIDL_COMMON_PROGRAMS = &H17 '公用「程序」目錄
CSIDL_COMMON_STARTUP = &H18 '公用「啟動」目錄
CSIDL_COMMON_DESKTOPDIRECTORY = &H19
CSIDL_APPDATA = &H1A 'AppData目錄
CSIDL_PRINTHOOD = &H1B '列印
CSIDL_ALTSTARTUP = &H1D
CSIDL_COMMON_ALTSTARTUP = &H1E
CSIDL_COMMON_FAVORITES = &H1F '公用收藏夾
CSIDL_INTERNET_CACHE = &H20 'Internet網頁臨時目錄
CSIDL_COOKIES = &H21 'COOKIES目錄
CSIDL_HISTORY = &H22 '歷史記錄
CSIDL_WINDOWS = &H8000& 'Windows目錄
CSIDL_SYSTEM = &H8001& '系統目錄,Win9x為SYSTEM,2K/XP為SYSTEM32的全路徑
CSIDL_TEMP = &H8002& '臨時目錄全路徑
End Enum
Public Function GetWinPath(ByVal PathLong As SHSpecialFolderIDs) As String
'注釋:獲取一個指定ID的Windows目錄全路徑
'輸入:PathLong為目錄ID號,詳情參照SHSpecialFolderIDs
'注釋:作者 南宮飄雪 [email protected]
Dim tPath As String * thePathMaxLen
Dim pIdl As Long, pathL As Long
If PathLong < 255 Then
If SHGetSpecialFolderLocation(0&, PathLong, pIdl) Then Exit Function
If SHGetPathFromIDList(pIdl, tPath) Then
pathL = InStr(tPath, Chr(0))
If pathL Then
GetWinPath = Left(tPath, pathL - 1)
Else
GetWinPath = vbNullString
End If
End If
Else
Select Case PathLong
Case CSIDL_WINDOWS:
pathL = GetWindowsDirectory(tPath, thePathMaxLen)
Case CSIDL_SYSTEM:
pathL = GetSystemDirectory(tPath, thePathMaxLen)
Case CSIDL_TEMP:
pathL = GetTempPath(thePathMaxLen, tPath)
End Select
If pathL > 0 Then GetWinPath = Left(tPath, pathL)
End If
End Function
2. vb 獲取文件所在路徑
添加一個模塊,模塊里寫:
SubMain()
DimstrCmdAsString
strCmd=Command()
Form1.Label1.Caption=strCmd
Form1.Show
EndSub
然後,在「工程」-「屬性」-「通用」里設置啟動對象為Sub Main()
3. VB獲取坐標
你需要的東西有點類似圖片搜索,或者像素搜索。有點像按鍵精靈里的功能,只不過vb中需要自己寫這個函數。
這里只說下原理。
首先,需要紅點和藍點的像素信息集合,可以自己抓各個像素點的顏色值,並排列成矩陣,也可以截取紅點和藍點的圖片,用程序讀取這個像素信息矩陣。
然後,將這個矩陣在你的這張圖片中比對,找到後,取左上角頂點坐標偏移紅點或藍點矩陣長寬的一半即可得出結果,如果圖片在你自己的程序里,後台抓取也是可以得。
不過說了這么多也不知道你自己能否實現= =。。。
如果你找得到別人寫的圖片搜索的函數也可以直接借用。或者可以搜下「大漠插件」,記得裡面有現成的圖片搜索函數。
4. VB中如何直接獲取文件的絕對路徑
path=mid(wscript.scriptfullname,1,len(wscript.scriptfullname) - instr(1,strreverse(wscript.scriptfullname),"\") + 1)
msgbox path,,"你的存儲路徑是:"
這樣可以獲取文件存儲的絕對路徑,並且用msgbox顯示出來
5. VB怎麼讀取程序所在位置
LZ提問得不夠詳細,請問是否詢問如何獲取程序根目錄路徑?
App.path函數的作用是返回程序根目錄的路徑,例如程序存放在C盤的A文件夾中,App.path的值為"C:\A",以此類推。同理,根目錄下XX.txt就可以使用 App.path & "\XX.txt" 表示。需要注意的是若程序在盤符根目錄,則返回的值便為"X:\「(X是盤符),這時使用 App.path & "\XX.txt" ,結果為"X:\\XX.txt",便會出錯,需要使用IF RIGHT(APP.PATH,1)="\"來解決。
6. VB語句,點擊顯示在界面中的地圖上的任意位置,可獲取相應位置的坐標
在 mousemove(index x,index y) 事件裡面獲得系統變數x,y的值不就行了、
7. vb獲取地址問題
那個控制項是不可以的,只能選文件,路徑如下:
先在form里加上一個text和command控制項各一個,然後代碼如下::
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Const BIF_RETURNONLYFSDIRS = 1
Const MAX_PATH = 260
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Sub Command1_Click()
Dim iNull As Integer, lpIDList As Long, lResult As Long
Dim sPath As String, udtBI As BrowseInfo
With udtBI
'Set the owner window
.hWndOwner = Me.hWnd
'lstrcat appends the two strings and returns the memory address
.lpszTitle = lstrcat("請選擇文件夾", "") '標題
'Return only if the user selected a directory
.ulFlags = BIF_RETURNONLYFSDIRS
End With
'Show the 'Browse for folder' dialog
lpIDList = SHBrowseForFolder(udtBI)
If lpIDList Then
sPath = String$(MAX_PATH, 0)
'Get the path from the IDList
SHGetPathFromIDList lpIDList, sPath
'free the block of memory
CoTaskMemFree lpIDList
iNull = InStr(sPath, vbNullChar)
If iNull Then
sPath = Left$(sPath, iNull - 1)
End If
End If
Text1.Text = sPath
End Sub
8. 如何在VB6中取得當前路徑或系統路徑
app.path是VB6中的用法.
vb2010屬於VB.Net,VB.Net中使用如下方法:
Application.StartupPath '獲取當前程序路徑,如果你的程序在C:\App\,結果為 C:\App
AppDomain.CurrentDomain.SetupInformation.ApplicationBase '獲取當前程序路徑,如果你的程序在C:\App\,結果為 C:\App\
'後者比前者的結果會多一個"\"
9. VB中如何獲取當前程序的絕對路徑
System.Environment.CurrentDirectory;
//例:c:/test/
Application.ExecutablePath;(包括名稱)
//例:c:/test/myapp.exe
Application.StartupPath;(不包括名稱)
//例:c:/test/
絕對路徑是直接到達目標位置,通常是從盤符開始的路徑。完整的描述文件位置的路徑就是絕對路徑,以web站點根目錄為參考基礎的目錄路徑。
絕對路徑名的指定是從樹型目錄結構頂部的根目錄開始到某個目錄或文件的路徑,由一系列連續的目錄組成,中間用斜線分隔,直到要指定的目錄或文件,路徑中的最後一個名稱即為要指向的目錄或文件。之所以稱為絕對,意指當所有網頁引用同一個文件時,所使用的路徑都是一樣的。
(9)vb如何獲取地理位置擴展閱讀
幾種編程語言獲取程序所在路徑的方法:
1、在golang程序裡面獲取程序所在路徑:
package main
import (
"path/filepath"
"os"
"fmt"
"log"
)
func main() {
execDir, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err = nil {
log.Fatal(err)
}fmt.Println(execDir)
}
2、python腳本所在路徑:
import os
print(os.path.split(os.path.realpath(__file__))[0])
3、shell腳本獲取腳本的絕對路徑:
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
10. VB如何自動獲取電腦裡面的某個程序位置
GetWindowRect
'尋找窗口列表中第一個符合指定條件的頂級窗口(在vb里使用:FindWindow最常見的一個用途是獲得ThunderRTMain類的隱藏窗口的句柄;該類是所有運行中vb執行程序的一部分。獲得句柄後,可用api函數GetWindowText取得這個窗口的名稱;該名也是應用程序的標題)
"user32"_
Alias"FindWindowA"(ByVallpClassNameAsString,_
ByVallpWindowNameAsString)AsLong
privateTypeRECT
LeftAsLong
TopAsLong
RightAsLong
BottomAsLong
EndType
'獲得整個窗口的范圍矩形,窗口的邊框、標題欄、滾動條及菜單等都在這個矩形內
"user32"_
Alias"GetWindowRect"(ByValhwndAsLong,_
lpRectAsRECT)AsLong
查找以上API函數功能 用法 就可以達到你的功能