Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Вниз

ШАРИТЬ ПО ДИСКАМ ЗАПРЕЩЕНО   Найти похожие ветки 

 
ATLANTIDO   (2002-02-02 23:58) [0]

Всем всего доброго ! Товарищи программисты, вопрос
творческий и не конкретный. Ситуация такова : myprog
запускаеться как shell и больше ее никак не выпрешь,
а цель ее такова, что-бы пользователь никак не мог
полазить по дискам. Короче, я пишу что-то типа
проги для комп.клубов. Из моей проги можно открыть
только Инт.Експлорер, пару игр, и всякие бейсики и паскали.
Все прекрасно знают, как на диск через броузер зайти,
или открыть окно открытия файла в винампе и т.д.
Возможна ли такая штука ?


 
ATLANTIDO   (2002-02-03 00:41) [1]

Уточню вопрос :) - как узнать путь в строке адреса Експлорера
(не интернет а обычного).


 
ATLANTIDO   (2002-02-03 19:17) [2]

Вот вариант, только почемуто не работает :


procedure TForm1.Timer2Timer(Sender: TObject);
var
Wnd : hWnd;
buff: ARRAY [0..127] OF Char;
List1 : TStringList;
i : integer;
begin
if Copy(Get_URL("IExplore"),2,4)="file" then
begin
ShowMessage("file");
List1:=TStringList.Create;
List1.Clear;
WHILE Wnd <> 0 DO BEGIN
IF (Wnd <> Application.Handle) AND
IsWindowVisible(Wnd) AND
(GetWindow(Wnd, gw_Owner) = 0) AND
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
THEN BEGIN
GetWindowText(Wnd, buff, sizeof(buff));
List1.Add(StrPas(buff));
END;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;
for i:=0 to (List1.Count-1) do
begin
If Pos("Microsoft Internet Explorer", List1.Strings[i])<>0 then
PostMessage(FindWindow(Nil, PChar(List1.Strings[i])), WM_QUIT, 0, 0);
end;
end;

end;

...........................

function TForm1.Get_URL(Servicio: string): String;
var
Cliente_DDE: TDDEClientConv;
temp:PChar; //<<-------------------------This is new
begin
Result := "";
Cliente_DDE:= TDDEClientConv.Create( nil );
with Cliente_DDE do
begin
SetLink( Servicio,"WWW_GetWindowInfo");
temp := RequestData("0xFFFFFFFF");
Result := StrPas(temp);
StrDispose(temp); //<<-Предотвращаем утечку памяти
CloseLink;
end;
Cliente_DDE.Free;
end;


Может кто знает, в чем дело ?


 
Victor   (2002-02-04 05:29) [3]

а не проще будет отловить уже открытое окно?
допустим чтобы через браузер залесть надо в строке написать, например C:\windows и откроется окно с заголовком windows, а уже его мы легко закроем вот этой строкой
sendmessage(findwindow(nil"Имя окна "),wm_syscommand,sc_close,0);


 
Victor   (2002-02-04 05:35) [4]

извини после nil запятую забыл


 
Rem   (2002-02-04 10:17) [5]

Установить Win2k с NTFS, и указать права доступа к каждому дисковому ресурсу


 
ATLANTIDO   (2002-02-04 13:59) [6]

to Rem :
К сожалению Win2k никак не катит :( ...


 
ATLANTIDO   (2002-02-04 14:05) [7]

to Vicror:
Согласен, отслеживать путь в строке броузера
не всегда удаеться (если несколько окон), и тормозит
систему.
--------------------
Вопрос в другом:
А какой точно будет caption (имя окна) ?
Ведь пользователь может написать c:\windows а может
и c:\program files ?


 
ATLANTIDO   (2002-02-05 00:34) [8]

Сам отвечу на свой вопрос :
GetWindowTextLength, проверить Pos"ом на наличие
"Microsoft Internet Exlorer".



 
ATLANTIDO   (2002-02-05 00:36) [9]

P.S : + GetWindowText конечно :)



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
3-94268
dialectic
2002-04-05 09:22
2002.04.29
3 диалект и BDE


6-94522
Termik
2002-02-15 10:10
2002.04.29
Получение IP-адреса через имя машины.


3-94333
Beer
2002-04-09 17:05
2002.04.29
select из строковой переменной.


3-94344
PoweR
2002-04-10 10:17
2002.04.29
Помогите определиться


1-94468
Sasha9
2002-04-16 12:21
2002.04.29
Бит из байта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский