Форум: "Система";
Текущий архив: 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