Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скрытие программы от посторонних глаз [D7]


Страницы:   1 2

Neket ©   (2006-08-31 15:55:00) 

Подскажите как к примеру скрыть программу так что бы она только была видна только при нажатии ALT+CTRL+DEL, но при это при одновременном нажатии к примеру ALT+CTRL+F она снова появлялась?


Neket   (2006-08-31 17:37:00) [1]

А как это использовать RegisterHotKey?
Можно поподробнее?


Virgo_Style   (2006-08-31 17:34:00) [2]

Elen ©   (31.08.06 16:15) [8]
Хм, может, я чего-то не знаю, но почему не RegisterHotKey?


Сергей М.   (2006-08-31 17:11:00) [3]

А уж как настодолбали премьеры таких вот "ламермаздаев"  - ты просто не поверишь)


Neket   (2006-08-31 17:08:00) [4]

Как мне надоело то что все здесь хотят поумничать вместо того чтобы помочь и подсказать...


Neket   (2006-08-31 17:06:00) [5]

Предлогаю админам закрыть эту тему.


Сергей М.   (2006-08-31 17:04:00) [6]


> Neket   (31.08.06 16:54) [15]


И чего же такого "плохого" могут натворить те самые "различные юзеры" с той самой "программой", которая "работает на сервере" ?

Может тебе таки прекратить нести ту лажу, что ты сейчас несешь, и таки почитать книжки ?)


Neket   (2006-08-31 17:04:00) [7]

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


Elen   (2006-08-31 16:59:00) [8]


> Neket

Либо ты неверно задаеш вопросы либо сам не знаеш чего надо - Т.Е. прога работает на другом компе? как ты будеш собирать сведения и откуда?. К тому же настрой доступы это будет лучше чем то что ты хочеш написать.
Пользователи не смогут ничего сделать с файлом удаленно пока он работает


Сергей М.   (2006-08-31 16:57:00) [9]


> Neket   (31.08.06 16:54) [15]
>
> Программа работает на сервере.


Да хоть на луне. И что ?


> чтобы они ненаделали ничего плохого имеет смысл


Имеет смысл обратиться к админу-специалисту-профессионалу ... Ибо нефиг имзобретать велосипед, когда в Системе имеется готовый механизм.


Neket   (2006-08-31 16:54:00) [10]

Программа работает на сервере. На который удаленно могут заходить различные юзеры. И чтобы они ненаделали ничего плохого имеет смысл прогу скрыть. Всмысле внести изменения в настройки.


Сергей М.   (2006-08-31 16:52:00) [11]


> Neket   (31.08.06 16:21) [11]
>
> Сергей М. - Флудить вздумали?
>


Во-первых, не "флудить", а "фл адить".
Во-вторых ответь на вопрос...


DprYg   (2006-08-31 16:38:00) [12]

Закрыть можно только завершив процесс:
Application.Initialize;
Application.ShowMainForm := false;
Application.CreateForm(TForm1, Form1);
Application.Run;
Я чего-то не понимаю - какие здесь могут быть ловушки? А RegisterHotKey с обработкой WM_HOTKEY на что?


Elen   (2006-08-31 16:28:00) [13]


> Neket

Попрыгай с этим примером и порули мануалы по SDK.
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Memo1: TMemo;
   procedure FormCreate(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
function Proc(
   code:integer;
   wParam:WPARAM;
   lParam:LPARAM
  ):lresult;stdcall;
 
var
 h:hhook;
 Form1: TForm1;

implementation
function Proc(

   code:integer;
   wParam:WPARAM;
   lParam:LPARAM
  ):lresult;stdcall;
var c:array[0..255] of char;
s:string;
   nScan:integer;
begin
if (code>=0)and(teventmsg(pointer(lparam)^).message=wm_keydown) then begin
 nScan:=hibyte((teventmsg(pointer(lparam)^).paramL));
 nscan:=nscan shl 16;
 GetKeyNameText(nScan,c,256);
//  form1.memo1..Add(c);
s:=c;
Form1.Caption:=s;
if length(s)=1 then
Form1.Memo1.Lines.Text:=Form1.Memo1.Lines.Text+c
else begin
 Form1.Memo1.Lines.Append('');
 Form1.Memo1.Lines.Append('---');
 Form1.Memo1.Lines.Append(c);
 Form1.Memo1.Lines.Append('---');
end;{}
end;
result:=callnexthookex(h,code,wparam,lparam);
end;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
h:=setwindowshookex(WH_JOURNALRECORD,@Proc,hinstance,0);
caption:=inttostr(h);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
unhookwindowshookex(h);
end;

end.

Хотя зачем так круто прятать такую мелочную прогу от глаз "других людей"


Neket   (2006-08-31 16:21:00) [14]

Сергей М. - Флудить вздумали?


Сергей М.   (2006-08-31 16:19:00) [15]


> Neket   (31.08.06 16:02) [2]
>
> Чтобы другие люди её не видели


Какие такие "другие" ?


Neket   (2006-08-31 16:17:00) [16]

Гуд...
КАК?


Elen   (2006-08-31 16:15:00) [17]


> А как мне отловить нажатие клавиш к примеру ALT+CTRL+F если
> у меня

Делай Хук на WH_JOURNALPLAYBACK


Neket   (2006-08-31 16:13:00) [18]

Так как скрыть форму я вспомнил
Form1.Visible:=false;
А как мне отловить нажатие клавиш к примеру ALT+CTRL+F если у меня
Form1.Visible:=false ?


Elen   (2006-08-31 16:13:00) [19]


> чтобы внести изменения в настройки.

Я так понимаю показывать ее надо ради этого? Сделай просто ИНИ файл, где прописывай свои настройки. Или через Хук.


Neket   (2006-08-31 16:08:00) [20]

А как отловить нажате клавиш в WIDOWS при это если твоя прога висит в памяти и скрыта?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо