Главная страница
    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.007 c
1-94359
NS
2002-04-17 11:57
2002.04.29
Нужно в RUN-Time создавать экземпляры некоторых объектов (для при


3-94266
Rub
2002-04-05 15:53
2002.04.29
Народ, кто-нибудь может доступным языком и в двух словах...


1-94402
vlv
2002-04-17 19:39
2002.04.29
Диалог выбора цвета


1-94512
Коля
2002-04-17 06:43
2002.04.29
Чвета в RichEdit Помогите!


1-94364
KvORubin
2002-04-16 09:15
2002.04.29
Как коректно дать комманду с одной на другую *.EXE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский