Главная страница
    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.47 MB
Время: 0.068 c
14-1108486849
ShadowDev
2005-02-15 20:00
2005.03.06
10WMZ за кейлоггер


3-1107328157
Mishenka
2005-02-02 10:09
2005.03.06
Перемещение столбцов в TDbGridEh


1-1108758793
Muhan
2005-02-18 23:33
2005.03.06
Как создать кнопку(button) в программе


1-1108985710
tupnyaki poshli
2005-02-21 14:35
2005.03.06
BlockRead/BlockWrite


4-1106134030
Cosinus
2005-01-19 14:27
2005.03.06
Никак не пойму, в чем проблемма... Keyboard_Hook &amp; SendMessage





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский