powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / API SHCreateThread передать и обработать параметр
10 сообщений из 10, страница 1 из 1
API SHCreateThread передать и обработать параметр
    #35148243
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
описание запуск нового потока

Код: plaintext
1.
2.
3.
4.
5.
6.
Public Const CTF_COINIT = &H8
Public Const CTF_INSIST = &H1
Public Const CTF_PROCESS_REF = &H4
Public Const CTF_THREAD_REF = &H2

Public Declare Function SHCreateThread Lib "shlwapi.dll" (ByVal pfnThreadProc As Long, pData As Any, ByVal dwFlags As Long, ByVal pfnCallback As Long) As Long

Вызов из модуля
Код: plaintext
1.
2.
3.
Sub NewThread()
  msgbox "New Thread"
End Sub

вызов из основной формы
Код: plaintext
SHCreateThread AddressOf NewThread, ByVal  0 &, CTF_INSIST, ByVal  0 &

вопрос как можно передать параметр в NewThread для его обработки

Спасибо
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35148366
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
Sub NewThread(param as Long)
  msgbox param
End Sub

SHCreateThread AddressOf NewThread,  12345 , CTF_INSIST, ByVal  0 &
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35148462
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да
только так работает

Код: plaintext
1.
2.
3.
4.
Sub NewThread(byval param as Long)
  msgbox param
End Sub

SHCreateThread AddressOf NewThread, byval  12345 , CTF_INSIST, ByVal  0 &
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35148472
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если нужно передать текст как параметр
что то не выходит
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35148538
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StrPtr
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35148549
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще лучше VarPtr на какую-нибудь структуру постоянного размера, которая будет содержать указатель на строку и ее длину.
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35148615
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не очень понятно

вызов
SHCreateThread AddressOf NewThread, ByVal "aaa", CTF_INSIST, ByVal 0&


Sub NewThread(ByVal param As Long)
записать param(aaa) как текст
End Sub

как я это должен записть
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35148777
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Type zzz
    StrPointer as Long
    StrLength as Long
End Type

dim x as zzz
s="1232134"
x.StrPointer = StrPtr(s)
x.StrLength = Len(s)
SHCreateThread AddressOf NewThread, VarPtr(x), CTF_INSIST, ByVal  0 &

Sub NewThread(byval param as Long)
Dim x As zzz
Dim s as String
    CopyMemory x, param, Len(x)
    s=Space(x.StrLength)
    CopyMemory s, x.StrPointer, x.StrLength
    msgbox s
End Sub
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35149282
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет не работает

какое нужно описание для CopyMemory
msgbox S -пусто
...
Рейтинг: 0 / 0
API SHCreateThread передать и обработать параметр
    #35149625
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / API SHCreateThread передать и обработать параметр
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]