Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Удаление элемента из чужого ListBox'a Добавлено: 23.12.05 02:17  

Автор вопроса:  SerJ
Дано: ListBox (чужое приложение)

Кто знает, какое сообщение надо послать окну, чтобы элемент N удалить с листбокса этого окна?

Ответить

  Ответы Всего ответов: 24  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 23.12.05 18:46
SerJ, небось, опять задумал Task Manager обхитрить? :)

Ответить

Номер ответа: 3
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #3 Добавлено: 23.12.05 19:44
Noviks
Да будет тебе известно, что в Task Manager ListBox не используется.

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 23.12.05 20:21
И даже если и получится с ListView удалить - он быстро его обновит и добит опять :)

Ответить

Номер ответа: 5
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #5 Добавлено: 23.12.05 20:24
Ммммда... Вопрос отпал. Всем спасибо. Придётся старенький VBPantom юзать. Если бы он только не глючил...

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 23.12.05 22:06
мораль: всегда говори что хочешь получить в итоге, в водить около да рядом
Дано: ListBox (чужое приложение)
смешно просто :) Если хоч быть невидимым в диспетчере, неюзай никакие VBPhantomы итп..., вспомни что Task Manager отображает только exe, а ведь есть ещё dll...

Ответить

Номер ответа: 7
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #7 Добавлено: 23.12.05 22:54
dll тоже можно посмотреть: к какому ехе какие dll прицеплены

Ответить

Номер ответа: 8
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #8 Добавлено: 23.12.05 23:06
dll тоже можно посмотреть: к какому ехе какие dll прицеплены

имеется ввиду, что можно прогу откомпилировать в dll... (Который в диспетчере виден не будет)

Ответить

Номер ответа: 9
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #9 Добавлено: 24.12.05 00:04
смешно просто :) Если хоч быть невидимым в диспетчере, неюзай никакие VBPhantomы итп..., вспомни что Task Manager отображает только exe, а ведь есть ещё dll...

Так ты тада говорил, мол, - пропиши в реестре в "HKEY_CLASSES_ROOT\CLSID\{....}\InprocServer32". Но КАК её заставить хотя-бы какой-нить "hello world" - обещал разберусь, но так и не...

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 24.12.05 00:57
когда просто длл запускается она и недолжна ничего делать, т.к. она просто загружена в память, а вот когда кто-то к ней обратится, например сама винда читая InprocServer32, то Class_Initialize должен произойти. Покарайнемере это ОЧЕНЬ маленькая трабла, по сравнению с перехватом апи и таскменеджера... А вообще зачем оно тебе? (риторический вопрос, и так понятно...) я к тому что если ты неможешь с длл разобраться даже - не теряй в пустую времени, то что ты хочешь создать у тебя неполучится, лучше вернутся к теории... книжкам, статьям, примерам...

Ответить

Номер ответа: 11
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #11 Добавлено: 24.12.05 01:46
то что ты хочешь создать у тебя неполучится

Стоит только захотеть... Много есть других вариантов.

Ответить

Номер ответа: 12
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #12
Добавлено: 24.12.05 01:56
А скрыть из диспетчера (любого) то проще простого... одной строчкой
End
:)

Ответить

Номер ответа: 13
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #13 Добавлено: 24.12.05 02:02
:)

Ответить

Номер ответа: 14
Автор ответа:
 HOOLIGAN



Вопросов: 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
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #15 Добавлено: 24.12.05 13:03
Ты можешь компилировать прогу и с раширением .bas, главное сердце её - ЕХЕ. Диспетчер будет показывать всё равно.
а вот когда кто-то к ней обратится, например сама винда читая InprocServer32, то Class_Initialize должен произойти.

Кста, FileMon'ил одну игрушку - так она обращается на мою прописанную в реестре ДЛЛку. Но так Class_Initialize и не произошёл...

ЗЫ. А чё энто вдруг другие проги (я так понял, что все?) начали обращаться к моей ДЛЛ? 8)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам