purebasic.info

PureBasic forum
Текущее время: Пт сен 22, 2017 12:17 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Скрываем программу
СообщениеДобавлено: Ср июл 25, 2007 4:11 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11012
Благодарил (а): 4 раз.
Поблагодарили: 367 раз.
Неверное почти у каждого есть программа (программы) которую нужно скрыть от окружающих. Не совсем разумно в этом случае держать её ярлык в меню "Пуск" или на рабочем столе, а каждый раз открывать по 10 папок неудобно. Вот я и подумал, что можно сделать прогу-хамилион. Если её просто запустить, она будет выполнять какие-либо примитивные действия, но если её запустить и при этом держать нажатыми кнопки, скажем Ctrl+F7, то запуститься скрываемая прога.
Вопрос. Как узнать какие были нажаты кнопки если они нажаты до запуска программы, а отпущены после её запуска? Окна у программу нет, так что AddKeyboardShortcut не подойдёт, хотя можно сделать невидимое окошко.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 6:05 pm 
Не в сети
док

Зарегистрирован: Вт июл 17, 2007 1:34 pm
Сообщений: 90
Откуда: Пенза
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Код:
1
2
3
4
5
6
7
8
9
 
Dim Keys.c(256)
 
GetKeyboardState_(Keys())
 
If Keys(#VK_F5)
  Debug "Нажата F5"
EndIf
 


--
GetKeyboardState_() - опросить клавиатуру
SetKeyboardState_() - нажать на клаве кнопки
--
При компиляции этой проги с помошью горячей кнопки F5 (немного подержать) и увидишь сообщение дебагера "Нажата F5".


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 7:01 pm 
Не в сети
BackupUser
Аватар пользователя

Зарегистрирован: Ср ноя 29, 2006 9:29 pm
Сообщений: 1492
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
А может стоит при запуске программы-хамелеона ставить курсор в тайную точку и тогда запущенная прога выполнит желаемые скрытные действия.
И, тогда, не надо будет заморачивать горячие клавиши.
(которые, кстати, видно окружающим людям)

Пример.
Запускаем прогу-хамелеон. В течение трёх секунд она ждёт курсор в правом верхнем углу.

Если дождётся - одни действия.
Не дождётся - другие действия.

И окно морочить никакое не надо.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 7:56 pm 
Не в сети
док

Зарегистрирован: Вт июл 17, 2007 1:34 pm
Сообщений: 90
Откуда: Пенза
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
при координате курсора мыши менее 50,50 (т.е верхний левый угол экрана) пишется надпись в дебаг... вот те идейка :idea: а уж твое дело доработать её...
Код:
1
2
3
4
5
6
7
8
9
 
C.POINT
 
Repeat
  GetCursorPos_(C)
  Delay(100)
Until c\x < 50 And c\y < 50
 
Debug "Что то тёмное замышляется....."



Fdisk, ты никак вирус замышляешь какой-нить? :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 8:06 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6162
Благодарил (а): 16 раз.
Поблагодарили: 165 раз.
Пункты репутации: 48
Можно поступить от обратного - пусть нужная программа стартует вместе с Windows (автозапуск любым доступным способом) в скрытом режиме, и опрашивает клавиатуру каждую секунду.
Ну а как поступит команда, то эта программа сделает своё дело, а если она не нужна, то можно её так же тихо закрыть по другим горячим клавишам или через диспетчер задач.
Лично для себя я эту проблему решаю при помощи Total Commander - там есть настройка избранных каталогов (Ctrl+D) - два клика и ты в любом каталоге, с любой вложенностью папок.
И ещё есть программка в Интернете, но я её не пробовал :
Hotkey Genius - быстрый запуск программ по нажатию горячих клавиш! Быстрый запуск приложений. Удобное открытие любых файлов и папок. Дружественный пользователю интерфейс. Автозапуск вместе с Windows. Полная поддержка многопользовательской работы под Windows NT/2000/XP. Полная поддержка тем Windows XP. Многоязычный интерфейс


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 8:07 pm 
Не в сети
док

Зарегистрирован: Вт июл 17, 2007 1:34 pm
Сообщений: 90
Откуда: Пенза
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
при координате курсора мыши = верхний правый угол экрана пишется надпись в дебаг... вот те идейка :idea: а уж твое дело доработать её...
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
ExamineDesktops()
 
time = GetTickCount_()
flag = #False
Repeat
  If DesktopWidth(0) - DesktopMouseX() < 50 And DesktopHeight(0) - DesktopMouseY() > DesktopHeight(0) - 50
    flag = #True
  EndIf
  If GetTickCount_() - time > 3000
    Break
  EndIf
  Delay(1)
ForEver
 
If flag
  Debug "Что-то нехорошее задумалось..."
Else
  Debug "Вроде пронесло"
EndIf



Fdisk, ты никак вирус замышляешь какой-нить? :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 8:09 pm 
Не в сети
BackupUser
Аватар пользователя

Зарегистрирован: Ср ноя 29, 2006 9:29 pm
Сообщений: 1492
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
MadPsychoCell писал(а):
Fdisk, ты никак вирус замышляешь какой-нить? :)

Это не я. Это Пётр начинает к хитростям приобщаться.

Я человек простой, мне курсор в угол ставить ни к чему.
Я, лучше, процесс запущу из памяти...
Или, вообще, в списке процессов его скрою.

Или сам список читать не дам....


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 8:14 pm 
Не в сети
док

Зарегистрирован: Вт июл 17, 2007 1:34 pm
Сообщений: 90
Откуда: Пенза
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Fdisk писал(а):
Или, вообще, в списке процессов его скрою.

под мастдаем 98 эт легко, а вот в NT/XP это сложнее... у мя есть дельфийский модуль для скрытия... ток тама уж код гадкий - щас попробую перевести на PB


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 9:39 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11012
Благодарил (а): 4 раз.
Поблагодарили: 367 раз.
Спасибо за ответы, попробую.

Цитата:
Это Пётр начинает к хитростям приобщаться
Я вовсе не собираюсь писать вирусы. Это надо быть извращенцем чтобы так вирус запускать. :)
Мне это понадобилось потому что к моему другу на работе уже прикопались что у него программы не лецинзионные. Вот он и попросил меня ему помочь.

Цитата:
Можно поступить от обратного - пусть нужная программа стартует вместе с Windows (автозапуск любым доступным способом) в скрытом режиме, и опрашивает клавиатуру каждую секунду.

К сожалению, прога не мной написана.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 25, 2007 9:44 pm 
Не в сети
BackupUser
Аватар пользователя

Зарегистрирован: Ср ноя 29, 2006 9:29 pm
Сообщений: 1492
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Цитата:
К сожалению, прога не мной написана.

В свой файл вложи бинарно чужую прогу.
Делай, теперь, всё что захочешь - запускай по своему ключу или другим секретным способом.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 26, 2007 7:14 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6162
Благодарил (а): 16 раз.
Поблагодарили: 165 раз.
Пункты репутации: 48
Если это MicroSoft-овские монстры( типа Office), то их не спрятать, ни в бинарник засунуть - они прописываются везде, где только можно, да и прятать их смысла нет, если запалят, то просто изымут винт, а специалисты уже обнаружат, где и что там лежит.
А с другими программами, которые можно установить в любую папку по собственному усмотрению, я бы всем кто опасается за их нелегальное использование посоветовал устанавливать на USB флешку - благо сейчас они подешевели и стали достаточной ёмкости для установки всех нужных программ.
И если вдруг скользкая ситуация, то просто флешку в карман( в окно, в унитаз) и пусть в винте копаются на здоровье, может даже и вернут потом с извинениями... Да и вообще полезная вещь флешка, можно на любом компе работать со своими программами.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 26, 2007 7:57 am 
Не в сети
BackupUser
Аватар пользователя

Зарегистрирован: Ср ноя 29, 2006 9:29 pm
Сообщений: 1492
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Есть мощнейшая очень маленькая суперПрога - Stealth Disk
Её и саму в системе не видно, она встраивается по-хитрому и она прячет папки-файлы любые. По хитрому ключу их показывает.
Сами процессы она в списке задач не прячет и её самой в процессах нет.

А я выше имел ввиду сделать сам процесс невидимым.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 26, 2007 1:11 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11012
Благодарил (а): 4 раз.
Поблагодарили: 367 раз.
Цитата:
специалисты уже обнаружат, где и что там лежит.
Сомневаюсь, что так искать будут, хотя если вспомнить недавний случай с виндой в одной из школ... :?

Вообще к моему другу прикопались не сколько из-за того что у него проги левые, а потому что увидели ярлык проги ICQ 2003 на рабочем столе, т. е. он в рабочее время занимался своими делами. Вот он и попросил сделать хитрый ярлык. 8)

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 26, 2007 2:00 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11012
Благодарил (а): 4 раз.
Поблагодарили: 367 раз.
У меня ещё что то получилось с этим кодом
Код:
1
2
3
4
5
6
Repeat
Delay(100)
If GetAsyncKeyState_(#VK_F7) And GetAsyncKeyState_(#VK_CONTROL)
MessageRequester("","Кнопки Ctrl и F7 нажаты" )
EndIf
Until GetAsyncKeyState_(#VK_ESCAPE)


При запуске из среды компилятора, работает нормально, а в exe-шнике неработает. :(

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 26, 2007 3:10 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6162
Благодарил (а): 16 раз.
Поблагодарили: 165 раз.
Пункты репутации: 48
Второй раз на грабли наступаешь!!! Если функция вызывается не по какому то конкретному событию, а просто в цикле, то она обычно не работает, особенно, если окно не активно или окна нет вообще.
Для этого её( функцию) надо вызывать по таймеру. Установи тот же интервал 300 мсек и всё заработает. На эту тему я уже с 22vlad спорил...

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Procedure Proverka()
If GetAsyncKeyState_(#VK_F7) And GetAsyncKeyState_(#VK_CONTROL)
MessageRequester("","Кнопки Ctrl и F7 нажаты" )
EndIf
EndProcedure
StartTimer(1, 300, @Proverka())  
 
Repeat
Delay(1)
Until GetAsyncKeyState_(#VK_ESCAPE)
EndTimer(1)
End
 



Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB