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函数功能 用法 就可以达到你的功能