Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.06;
Скачать: CL | DM;

Вниз

Доступ к чужим окнам   Найти похожие ветки 

 
Cobalt ©   (2002-02-27 15:19) [0]

Получил хэндл SysListView рабочего стола, пытаюсь получить его элементы, но ничего не получается:
Посылаю сообщение окну, в рез-те: Explorer совершил недопустимую операцию и будет закрыт.


 
VuDZ ©   (2002-02-27 15:44) [1]

вот, разбирайся:

#include "stdafx.h" #include <windows.h>#include <shlobj.h>#include <Shlwapi.h>#include <stdlib.h>#include <tchar.h>#include <locale.h> int main(int argc, char* argv[]){ TCHAR* pLoc = _wsetlocale(LC_ALL, TEXT("Russian")); LPMALLOC pMalloc = NULL; SHGetMalloc(&pMalloc); IShellFolder* pshf = 0; if (SUCCEEDED(SHGetDesktopFolder(&pshf))) { IEnumIDList* penumIDList; if (SUCCEEDED(pshf->EnumObjects(NULL, SHCONTF_NONFOLDERS | SHCONTF_FOLDERS | SHCONTF_INCLUDEHIDDEN , &penumIDList))) { LPITEMIDLIST pidl = 0; while (S_FALSE != penumIDList->Next(1, &pidl, NULL)) { STRRET strret; strret.uType = STRRET_WSTR; if (SUCCEEDED(pshf->GetDisplayNameOf(pidl, SHGDN_NORMAL, &strret))) { TCHAR szDisplayName[MAX_PATH]; StrRetToBuf(&strret, pidl, szDisplayName, sizeof(szDisplayName)); char oemBuffer[MAX_PATH]; CharToOem(szDisplayName, oemBuffer); printf("%s\n", oemBuffer); } pMalloc->Free(pidl); } penumIDList->Release(); } pshf->Release(); } pMalloc->Release(); return 0;}


и в SDK есть пример EnumDesk, но с ним очень долго надо разбираться


 
Cobalt ©   (2002-03-02 08:29) [2]

Ошибка была из-за изолированности адресных процов - я в сообщении окну указывал на свою область памяти.
Спасибо.


 
VuDZ ©   (2002-03-02 15:05) [3]

блин. ну и ммесиво же получилось, а я не заметил :(



Страницы: 1 вся ветка

Текущий архив: 2002.05.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
6-17664
fixxxer
2002-02-20 14:10
2002.05.06
посылка E-mail через TNMSMTP


1-17579
rem_
2002-04-22 13:39
2002.05.06
Wise


3-17480
kserg@ukr.net
2002-04-12 10:35
2002.05.06
Как проверить текст SQL-запроса?


1-17602
sir_musatov
2002-04-22 16:40
2002.05.06
поменять позицию курсора в поле edit


1-17581
neodiX
2002-04-22 15:12
2002.05.06
tdump name.dll