powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / WinApi(CreateProcessWithLogonW)
4 сообщений из 4, страница 1 из 1
WinApi(CreateProcessWithLogonW)
    #33609967
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача - запустить программу от имени определенного пользователя(с более высокими правами), не запрашивая пароль.
Подходящая для этого функция - CreateProcessWithLogonW. В качестве параметров в ней используются структуры Startupinfow, process_information, объявленные в Winbase.h.
1. Можно ли использовать эти объявления в PB, не создавая своих структур ?
2. В чем разница между типами данных LPCWSTR и LPWSTR ?
3. Один из параметров объявлен как
LPVOID lpEnvironment
[in] Pointer to an environment block for the new process. If this parameter is NULL, the new process uses the environment of the calling process.
An environment block consists of a null-terminated block of null-terminated strings. Each string is in the following form:
name=value
Что это - массив строк ?
...
Рейтинг: 0 / 0
WinApi(CreateProcessWithLogonW)
    #33609979
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVNЗадача - запустить программу от имени определенного пользователя(с более высокими правами), не запрашивая пароль.
Подходящая для этого функция - CreateProcessWithLogonW. В качестве параметров в ней используются структуры Startupinfow, process_information, объявленные в Winbase.h.
1. Можно ли использовать эти объявления в PB, не создавая своих структур ?
2. В чем разница между типами данных LPCWSTR и LPWSTR ?
3. Один из параметров объявлен как
LPVOID lpEnvironment
[in] Pointer to an environment block for the new process. If this parameter is NULL, the new process uses the environment of the calling process.
An environment block consists of a null-terminated block of null-terminated strings. Each string is in the following form:
name=value
Что это - массив строк ?
1. Описать структуры не проблема. Возмите за образец объект n_cst_kernel32.sru, где как раз описаны ANSI версии этих структур, Вам надо только переделать в Wide версию (если вообще потребуются какие-то изменения)
2. C означает - const. Для PB не важно - объявляйте как ref string
3. Как пример могу привести массив, передаваемый как второй аргумент в main языка C. Не уверен что в PB можно такое получить для передачи в external fun. А в данном конкретном случае и не нужно, если Вам не надо и в самом деле формировать переменные окружения нового процесса каким-либо нестандартным образом. Передавайте 0(типа long).
...
Рейтинг: 0 / 0
WinApi(CreateProcessWithLogonW)
    #33609980
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
WinApi(CreateProcessWithLogonW)
    #33609986
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, функцию подключил. Пока правда работает не так, как надо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / WinApi(CreateProcessWithLogonW)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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