Страница: 1 |
Страница: 1 |
Вопрос: изменить код для Get CommandLine
Добавлено: 20.10.08 21:48
Автор вопроса: busha
Здесь ком.строка выводится в messagebox а как вывести
ее в textbox или сохранить в строковую переменную?
Const SHGFI_ICONLOCATION = &H1000
Const MB_ICONASTERISK = &H40&
Const MB_ICONEXCLAMATION = &H30&
Const MAX_PATH = 260
Private Type MSGBOXPARAMS
cbSize As Long
hwndOwner As Long
hInstance As Long
lpszText As String
lpszCaption As String
dwStyle As Long
lpszIcon As String
dwContextHelpId As Long
lpfnMsgBoxCallback As Long
dwLanguageId As Long
End Type
Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Private Declare Function MessageBoxEx Lib "user32" Alias "MessageBoxExA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As Long, ByVal wLanguageId As Long) As Long
Private Declare Function MessageBoxIndirect Lib "user32" Alias "MessageBoxIndirectA" (lpMsgBoxParams As MSGBOXPARAMS) As Long
Private Declare Sub PostQuitMessage Lib "user32" (ByVal nExitCode As Long)
Private Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Private Sub Form_Paint()
'KPD-Team 1999,2001
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim MBP As MSGBOXPARAMS, LDs As Long, Cnt As Long, sDrives As String
'get the available drives
LDs = GetLogicalDrives
sDrives = "Available drives:"
For Cnt = 0 To 25
If (LDs And 2 ^ Cnt) <> 0 Then
sDrives = sDrives + " " + Chr$(65 + Cnt)
End If
Next Cnt
'Show the commandline
MessageBoxEx Me.hwnd, "The command line: " + GetCommLine, "Command Line ...", MB_ICONEXCLAMATION, 0
'Set the structure size
MBP.cbSize = Len(MBP)
'Set the icon style
MBP.dwStyle = MB_ICONASTERISK
'set the owner wndow
MBP.hwndOwner = Me.hwnd
'set teh text
MBP.lpszText = sDrives
'set the caption
MBP.lpszCaption = "Available drives"
'Show the messagebox
MessageBoxIndirect MBP
'end our application
PostQuitMessage 0
End Sub
Private Function GetCommLine() As String
Dim RetStr As Long, SLen As Long
Dim Buffer As String
'Get a pointer to a string, which contains the command line
RetStr = GetCommandLine
'Get the length of that string
SLen = lstrlen(RetStr)
If SLen > 0 Then
'Create a buffer
GetCommLine = Space$(SLen)
'Copy to the buffer
CopyMemory ByVal GetCommLine, ByVal RetStr, SLen
End If
End Function
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 20.10.08 22:05
Ты уверен, что тебе не рано еще программировать что-то сложнее калькулятора? Может литературу почитаешь?
Номер ответа: 2
Автор ответа:
busha
Вопросов: 22
Ответов: 18
Профиль | | #2
Добавлено: 20.10.08 22:38
если можно я бы хотел скинуть тебе одну прогаммку
которую я дописал до конца и не бросил на полпути
не такой то я и чайник, просто порой тормозю
если напишешь адрес, я скину, она немного весит
Номер ответа: 3
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #3
Добавлено: 21.10.08 08:47
Скинь мне. Ради интереса посмотрю
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 21.10.08 08:49
Номер ответа: 5
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #5
Добавлено: 21.10.08 10:57
Мыло в профиле. Можешь кидать.
Номер ответа: 6
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #6
Добавлено: 21.10.08 19:30
мдя так тормозить нельзя ибо ты тогда вообще в програмировании ноль я помню когда то тоже так тупил. но у меня инета не было ..и приходилось решать такие задачи самому.ничё справлялса канешно бывает ща загляну аж ужасаюсь....
Номер ответа: 7
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #7
Добавлено: 21.10.08 23:56