Visual Basic - Трюки и Хитрости, советы и ответы на вопросы.
Начнем с вопроса читателя.
Q: КАК МОЖНО НАЙТИ ПУТЬ К ПАПКЕ WINDOWS?
A: Легко
В модуле обьяввить
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA"
(ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Function WinPath() As String
Dim WinDirPAth As String
Dim pathSize As Long
Dim result As Long
WinDirPAth = Space(80)
pathSize = 80
result = GetWindowsDirectory(WinDirPAth, pathSize)
WinPath = left(WinDirPAth, result) & "\"
End Function
---------------------
Ну, и раз у нас пошел разговор про API, так так и продолжим...
Классика, как получить имя прользователя, с которым он зашел в Windows
В модуле обьяввить:
Public Declare Function GetUserName Lib "advapi32.dll" Alias
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function ShowUserName() As String
Dim lpbuff As String
Dim nSize As Long
Dim res as long
nSize = 25&
lpbuff = Space(20)
res = GetUserName(lpbuff, nSize))
ShowUserName = left(lpbuff, nSize - 1)
End function
--------------------
И, напоследок - трюк как распознать выполняется ли программа у
вас на компе в окружении Visual Basic-a или выполняется скомпилированный
exe file
В модуле обьяввить:
Public Declare Function GetComputerName Lib "kernel32"
Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Public Function DevelopingTime() As Boolian
Dim hmod As Long
Dim lpFileName As String
Dim lpCompName As String
Dim CompName As String
Dim limit As Long
nSize = 255
lpFileName = Space(255)
limit = GetModuleFileName(hmod, lpFileName, nSize)
lpFileName = left(lpFileName, limit)
If UCase(right(lpFileName, 7)) = "VB6.EXE" Then
DevelopingTime = True
End If
End Function