Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Вниз

Как по хендлу SysListView32 получитьсписок всех его элементов?   Найти похожие ветки 

 
volser   (2005-01-18 10:33) [0]

Помогите по сабжу плз.


 
volser   (2005-01-18 16:49) [1]


function GetDesktopListViewHandle: THandle;
var
 S: String;
begin
 Result := FindWindow("ProgMan", nil);
 Result := GetWindow(Result, GW_CHILD);
 Result := GetWindow(Result, GW_CHILD);
 SetLength(S, 40);
 GetClassName(Result, PChar(S), 39);
 if PChar(S) <> "SysListView32" then Result := 0;
end;

...

var
 Item: TLVItem;
begin
 ListView_Handle := GetDesktopListViewHandle;

 ZeroMemory(@item,sizeof(item));
 if ListView_GetItem(ListView_Handle, Item) then ShowMessage("Cool");


Что у меня не правильно?
Хендл ListView берется правиль (я пробовал его прятать и показывать), а функция ListView_GetItem не пашет.


 
jonni ©   (2005-01-18 21:48) [2]

na skol"ko ya ponimayu ti ne smozhehs nikogda vot tak prosto poluchit" dannie NE IZ svoego processa... tebe snachalo nado otkrit" process... videlit" pamayt"... poluchit" dannie..... itd...
naprimer vot: http://www.delphiworld.narod.ru/base/dt_icons_pos_g_s.html
(ne sovsem konechno ideal"niy primer.. no pervoe chto popalos" pod ruku...)

hotya po inetu polno ssilok.....


 
volser   (2005-01-19 12:36) [3]


AttachThreadInputc:=ListView_GetItemCount(ListViewHandle);
GetMem(Buf,255);
             for i:=0 to c-1 do
             begin
               ListView_GetItemText(ListViewHandle,i,0,Buf,255);
               memo1.Lines.Add(IntToStr(i) +":"+ buf);
             end;
 AttachThreadInput(GetCurrentThreadId,GetWindowThreadProcessId(ListViewHandle),False);


Ну вот приатачался. Что здесь не так?


 
Игорь Шевченко ©   (2005-01-19 12:40) [4]

Рихтера читать


 
volser   (2005-01-19 13:01) [5]

К сожалению не имеется такой литературы.
Может все таки просветишь?


 
volser   (2005-01-19 13:04) [6]

Посмотрел пример.
Через CreateRemoteBuffer получаю, а с imagelistом никах.
Вот кусочек кода

    nb := SendMessage(LVH, LVM_GETIMAGELIST, LVSIL_NORMAL, 0);
    ReadRemoteBuffer(Base2, @h, SizeOf(h));
    Form1.ImageList1.Handle:=h;
    ShowMessage(IntToStr(Form1.ImageList1.Count));            
модификация примера.
Но выводит 0. Как тогда imagelist получать?


 
jonni ©   (2005-01-19 22:03) [7]

nu chto mozhet bit" naprimer....
----------------
http://support.microsoft.com/default.aspx?scid=kb;en-us;811415
However, when you do this on a computer running Windows XP, the wrong handle is returned. If you call any other APIs, and then
pass this handle, those API calls will not function correctly.
----------------

mozhet ono i ne dolzhno rabotat"?? kakoy u tebya Windows?


 
jonni ©   (2005-01-19 22:10) [8]

est" vot takoy primer......

il   : array[0..$3FF] of char;
twi.iconList: Cardinal;

ReadProcessMemory(ph,POINTER(twi.iconList),@il,sizeof(il),c1);
ico := TIcon.Create;
ico.Handle := ImageList_ExtractIcon(0,cardinal(@il),ImageIndex);

na skol"ko pravil"no eto napisnao ne znayu.....no vot tochno rabotaet v windows nizhe i vklyuchaya 2K.. v windows vishe ne proveryal.......


 
volser   (2005-01-19 23:58) [9]

У меня XP


 
volser   (2005-01-20 00:01) [10]

jonni
Что много не понятного в твоем коде.
Что такое twi, ph, c1?
Можешь кинуть более детальный код?



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

Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.032 c
3-1107361035
Ovant
2005-02-02 19:17
2005.03.06
Обработка ошибок Delphi


14-1108307582
Kerk
2005-02-13 18:13
2005.03.06
Подскажите...


1-1109014346
Jilian
2005-02-21 22:32
2005.03.06
Проблема с Image


14-1108103487
Steepe Wolf
2005-02-11 09:31
2005.03.06
Читать всем и высказаться


3-1107367125
VitGun
2005-02-02 20:58
2005.03.06
Правильная связь нескольких таблиц. Как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский