IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Текущий процесс, Visual C++ 2008 EE
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Требуется получить идентификатор текущего процесса...Использую функцию GetCurrentProcessId(void);
В результате - вылет приложения...Объясните пожалуйста, в чём дело?


...
DWORD lpID=GetCurrentProcessId();
HWND hIdVal = CreateWindow(TEXT("STATIC"), NULL, WS_CHILD | WS_VISIBLE | SS_LEFT,
(int)(Rect.left+135), (int)(Rect.top+60), (int)(Rect.right- Rect.left-700), 20,
hwnd, NULL, hInstance, NULL);
SendMessage(hIdVal,WM_SETTEXT, 0, (LPARAM)(LPCSTR)lpID); // вылет здесь
...

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Женский
Реальное имя: света

Репутация: -  0  +


volvo попробую объяснить. мы с 18192123 учимся вместе, и проблема это наша общая) лабораторная работа, в первой части которой мы создавали процессы, объединяли их в задание.. а здесь требуется:
Цитата
Разработать программу, которая
· Определит идентификатор текущего процесса,
используя функцию GetCurrentProcessID()
· Определит псевдодескриптор текущего процесса,
используя функцию GetCurrentProcess()
· Определит дескриптор текущего процесса, используя
функцию DuplicateHandle() и значение
псевдодескриптора
· Определит копию дескриптора текущего процесса,
используя функцию OpenProcess()


то есть извращения с duplicatehandle производятся из чисто спортивного интереса.
а в продолжение вопроса: имело место такое:

if (CreateProcess(NULL,ofn.lpstrFile, NULL,NULL,FALSE,CREATE_DEFAULT_ERROR_MODE,NULL,NULL,&si,&pi))
{
hProcess=pi.hProcess;
AssignProcessToJobObject(hJob,hProcess);
}


процесс lab2 запускает другой процесс, имя которого получаю из OpenDialog.
пользуясь твоей терминологией: можем ли мы считать созданный процесс чужим по отношению к lab2? то есть так: запущен процесс lab2 и процесс processID, и требуется с помощью функции duplicatehandle создать описатель для processID,корректный в контексте lab2... я правильно вас поняла? если правильно,то по моему processID это hProcess?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
18192123   Текущий процесс   20.10.2008 2:56
volvo   Все-таки не стоило бы приводить DWORD к указателю …   20.10.2008 4:00
18192123   HWND hIdVal = CreateWindow( ... ); wcha…   20.10.2008 4:18
volvo   Это не ошибка, а предупреждение... wsprintf помече…   20.10.2008 4:23
18192123   Пытаюсь определить дескриптор текущего процесса (и…   21.10.2008 1:20
volvo   Ты получаешь дескриптор мьютекса, а не текущего пр…   21.10.2008 2:17
18192123   Ты получаешь дескриптор мьютекса, а не текущего п…   21.10.2008 2:33
volvo   , то кто мешает тебе получить PID этого процесса (…   21.10.2008 3:27
18192123   мне требуется определить копию дескриптора текущег…   25.10.2008 0:57
volvo   Как ты думаешь, что сделает вот этот вызов, к прим…   25.10.2008 1:45
18192123   А вообще, не очень ясна цель производимых тобой м…   25.10.2008 1:52
18192123   Ещё один вопросик...по поводу DuplicateHandle().. …   26.10.2008 0:58
volvo   По-моему ты чего-то недоговариваешь... Смотри: что…   26.10.2008 1:22
svetkom   volvo попробую объяснить. мы с 18192123 учимся вме…   27.10.2008 3:46
volvo   svetkom, можно пальцем показать, дубликат ЧЕГО и Г…   27.10.2008 4:33
svetkom   volvo, извиняюс.. попробую еще раз. значит, на фор…   27.10.2008 4:54
volvo   Допустим, сдублировала hProcess в dup... Что дальш…   27.10.2008 6:27
18192123   Получаю псевдодескриптор текущего процесса с помощ…   28.10.2008 1:48
volvo   Может... Больше того, так должно быть: MSDN: GetC…   28.10.2008 2:11


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 4:21
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name