Вопрос: Удаление элемента из чужого ListBox'a | Добавлено: 23.12.05 02:17 |
Автор вопроса: ![]() |
Дано: ListBox (чужое приложение)
Кто знает, какое сообщение надо послать окну, чтобы элемент N удалить с листбокса этого окна? |
Ответы | Всего ответов: 24 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ICQ: 308-534-060 Вопросов: 20 Ответов: 1860 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 23.12.05 09:55 |
LB_DELETESTRING Message
-------------------------------------------------------------------------------- An application sends an LB_DELETESTRING message to delete a string in a list box. Syntax To send this message, call the SendMessage function as follows. lResult = SendMessage( // returns LRESULT in lResult (HWND) hWndControl, // handle to destination control (UINT) LB_DELETESTRING, // message ID (WPARAM) wParam, // = (WPARAM) () wParam; (LPARAM) lParam // = (LPARAM) () lParam; ); Parameters wParam Specifies the zero-based index of the string to be deleted. Microsoft Windows 95/Windows 98/Windows Millennium Edition (Windows Me) : The wParam parameter is limited to 16-bit values. This means list boxes cannot contain more than 32,767 items. Although the number of items is restricted, the total size in bytes of the items in a list box is limited only by available memory. lParam This parameter is not used. Return Value The return value is a count of the strings remaining in the list. The return value is LB_ERR if the wParam parameter specifies an index greater than the number of items in the list. Remarks If an application creates the list box with an owner-drawn style but without the LBS_HASSTRINGS style, the system sends a WM_DELETEITEM message to the owner of the list box so the application can free any additional data associated with the item. Message Information Header Declared in Winuser.h, include Windows.h Minimum operating systems Windows 95, Windows NT 3.1 See Also List Boxes, LB_ADDSTRING, LB_INSERTSTRING, WM_DELETEITEM |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #2 | Добавлено: 23.12.05 18:46 |
SerJ, небось, опять задумал Task Manager обхитрить? ![]() |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #3 | Добавлено: 23.12.05 19:44 |
Noviks
Да будет тебе известно, что в Task Manager ListBox не используется. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #4 | Добавлено: 23.12.05 20:21 |
И даже если и получится с ListView удалить - он быстро его обновит и добит опять ![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 332 |
Профиль | Цитата | #5 | Добавлено: 23.12.05 20:24 |
Ммммда... Вопрос отпал. Всем спасибо. Придётся старенький VBPantom юзать. Если бы он только не глючил... |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #6 | Добавлено: 23.12.05 22:06 |
мораль: всегда говори что хочешь получить в итоге, в водить около да рядом Дано: ListBox (чужое приложение) смешно просто ![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #7 | Добавлено: 23.12.05 22:54 |
dll тоже можно посмотреть: к какому ехе какие dll прицеплены |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 197.895.916.247 Вопросов: 72 Ответов: 540 |
Профиль | Цитата | #8 | Добавлено: 23.12.05 23:06 |
dll тоже можно посмотреть: к какому ехе какие dll прицеплены
имеется ввиду, что можно прогу откомпилировать в dll... (Который в диспетчере виден не будет) |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 332 |
Профиль | Цитата | #9 | Добавлено: 24.12.05 00:04 |
смешно просто
![]() Так ты тада говорил, мол, - пропиши в реестре в "HKEY_CLASSES_ROOT\CLSID\{....}\InprocServer32". Но КАК её заставить хотя-бы какой-нить "hello world" - обещал разберусь, но так и не... |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #10 | Добавлено: 24.12.05 00:57 |
когда просто длл запускается она и недолжна ничего делать, т.к. она просто загружена в память, а вот когда кто-то к ней обратится, например сама винда читая InprocServer32, то Class_Initialize должен произойти. Покарайнемере это ОЧЕНЬ маленькая трабла, по сравнению с перехватом апи и таскменеджера... А вообще зачем оно тебе? (риторический вопрос, и так понятно...) я к тому что если ты неможешь с длл разобраться даже - не теряй в пустую времени, то что ты хочешь создать у тебя неполучится, лучше вернутся к теории... книжкам, статьям, примерам... |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 332 |
Профиль | Цитата | #11 | Добавлено: 24.12.05 01:46 |
то что ты хочешь создать у тебя неполучится
Стоит только захотеть... Много есть других вариантов. |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 224 Ответов: 3777 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 24.12.05 01:56 |
А скрыть из диспетчера (любого) то проще простого... одной строчкой
End ![]() |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 332 |
Профиль | Цитата | #13 | Добавлено: 24.12.05 02:02 |
![]() |
Номер ответа: 14 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #14 | Добавлено: 24.12.05 09:23 |
имеется ввиду, что можно прогу откомпилировать в dll... (Который в диспетчере виден не будет)
Неужели можно прогу в dll откомпилить? ![]() Прогу ведь можно посмотреть не только в диспетчере. Например, наш любимый explorer тянет за собой вот такие dll: C:\WINDOWS\explorer.exe C:\WINDOWS\System32\ntdll.dll
C:\WINDOWS\system32\kernel32.dll C:\WINDOWS\system32\msvcrt.dll C:\WINDOWS\system32\ADVAPI32.dll C:\WINDOWS\system32\RPCRT4.dll C:\WINDOWS\system32\GDI32.dll C:\WINDOWS\system32\USER32.dll C:\WINDOWS\system32\SHLWAPI.dll C:\WINDOWS\system32\SHELL32.dll C:\WINDOWS\system32\ole32.dll C:\WINDOWS\system32\OLEAUT32.dll C:\WINDOWS\System32\BROWSEUI.dll C:\WINDOWS\System32\SHDOCVW.dll C:\WINDOWS\System32\UxTheme.dll C:\WINDOWS\system32\comdlg32.dll C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.0.0_x-ww_1382d70a\comctl32.dll C:\WINDOWS\system32\comctl32.dll C:\WINDOWS\System32\MSCTF.dll C:\WINDOWS\system32\appHelp.dll C:\WINDOWS\System32\CLBCATQ.DLL C:\WINDOWS\System32\COMRes.dll C:\WINDOWS\system32\VERSION.dll C:\WINDOWS\System32\cscui.dll C:\WINDOWS\System32\CSCDLL.dll C:\WINDOWS\System32\themeui.dll C:\WINDOWS\System32\Secur32.dll C:\WINDOWS\System32\MSIMG32.dll C:\WINDOWS\system32\USERENV.dll C:\WINDOWS\System32\actxprxy.dll C:\WINDOWS\System32\msutb.dll C:\WINDOWS\System32\LINKINFO.dll C:\WINDOWS\System32\ntshrui.dll C:\WINDOWS\System32\ATL.DLL C:\WINDOWS\System32\NETAPI32.dll C:\WINDOWS\System32\MLANG.dll C:\WINDOWS\system32\NETSHELL.dll C:\WINDOWS\system32\credui.dll C:\WINDOWS\system32\WS2_32.dll C:\WINDOWS\system32\WS2HELP.dll C:\WINDOWS\system32\iphlpapi.dll C:\WINDOWS\system32\netman.dll C:\WINDOWS\system32\MPRAPI.dll C:\WINDOWS\system32\ACTIVEDS.dll C:\WINDOWS\system32\adsldpc.dll C:\WINDOWS\system32\WLDAP32.dll C:\WINDOWS\system32\rtutils.dll C:\WINDOWS\system32\SAMLIB.dll C:\WINDOWS\system32\SETUPAPI.dll C:\WINDOWS\system32\RASAPI32.dll C:\WINDOWS\system32\rasman.dll C:\WINDOWS\system32\TAPI32.dll C:\WINDOWS\system32\WINMM.dll C:\WINDOWS\system32\WZCSvc.DLL C:\WINDOWS\system32\WMI.dll C:\WINDOWS\system32\DHCPCSVC.DLL C:\WINDOWS\system32\DNSAPI.dll C:\WINDOWS\system32\CRYPT32.dll C:\WINDOWS\system32\MSASN1.dll C:\WINDOWS\system32\WTSAPI32.dll C:\WINDOWS\system32\WINSTA.dll C:\WINDOWS\System32\msi.dll C:\WINDOWS\system32\WININET.dll C:\WINDOWS\System32\webcheck.dll C:\WINDOWS\System32\stobject.dll C:\WINDOWS\System32\BatMeter.dll C:\WINDOWS\System32\POWRPROF.dll C:\WINDOWS\System32\wdmaud.drv C:\WINDOWS\System32\msacm32.drv C:\WINDOWS\System32\MSACM32.dll C:\WINDOWS\System32\midimap.dll C:\WINDOWS\System32\printui.dll C:\WINDOWS\System32\WINSPOOL.DRV C:\WINDOWS\System32\CFGMGR32.dll C:\WINDOWS\system32\MPR.dll C:\WINDOWS\System32\drprov.dll C:\WINDOWS\System32\ntlanman.dll C:\WINDOWS\System32\NETUI0.dll C:\WINDOWS\System32\NETUI1.dll C:\WINDOWS\System32\NETRAP.dll C:\WINDOWS\System32\davclnt.dll C:\WINDOWS\System32\RASDLG.dll C:\WINDOWS\System32\rsaenh.dll C:\WINDOWS\System32\netcfgx.dll C:\WINDOWS\System32\CLUSAPI.dll C:\WINDOWS\System32\SXS.DLL C:\WINDOWS\System32\shdoclc.dll C:\WINDOWS\System32\browselc.dll C:\Program Files\Common Files\ReGet Shared\Catcher.dll C:\WINDOWS\system32\urlmon.dll C:\WINDOWS\System32\NProc.dll |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 24 Ответов: 332 |
Профиль | Цитата | #15 | Добавлено: 24.12.05 13:03 |
Ты можешь компилировать прогу и с раширением .bas, главное сердце её - ЕХЕ. Диспетчер будет показывать всё равно.
а вот когда кто-то к ней обратится, например сама винда читая InprocServer32, то Class_Initialize должен произойти.
Кста, FileMon'ил одну игрушку - так она обращается на мою прописанную в реестре ДЛЛку. Но так Class_Initialize и не произошёл... ЗЫ. А чё энто вдруг другие проги (я так понял, что все?) начали обращаться к моей ДЛЛ? 8) |
|