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

> Внимание!

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

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


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

 



- Текстовая версия 24.07.2025 2:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"