На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Как определить, устанавлена ли InterBase на Windows
    Как определить, устанавлена ли InterBase на Windows?
      можно узнать запущен ли он:
      ExpandedWrap disabled
        Procedure CreateWin9xProcessList(List:TStringList);
         Var
          hSnapShot:THandle;
          ProcInfo:TProcessEntry32;
        Begin
         If List=Nil Then Exit;
         hSnapShot:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
         If (hSnapShot <> THandle(-1)) Then begin
          ProcInfo.dwSize := SizeOf(ProcInfo);
          if (Process32First(hSnapshot, ProcInfo)) then begin
           List.Add(ProcInfo.szExeFile);
           while (Process32Next(hSnapShot, ProcInfo)) do
            List.Add(ProcInfo.szExeFile);
          end;
          CloseHandle(hSnapShot);
         end;
        end;
         
        procedure CreateWinNTProcessList(List: TstringList);
         var
          PIDArray: array [0..1023] of DWORD;
          cb: DWORD;
          I: Integer;
          ProcCount: Integer;
          hMod: HMODULE;
          hProcess: THandle;
          ModuleName: array [0..300] of Char;
        begin
         if List = nil then Exit;
         EnumProcesses(@PIDArray, SizeOf(PIDArray), cb);
         ProcCount := cb div SizeOf(DWORD);
         for I := 0 to ProcCount - 1 do begin
          hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or
            PROCESS_VM_READ,False,PIDArray[I]);
          if (hProcess <> 0) then begin
           EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb);
           GetModuleFilenameEx(hProcess, hMod, ModuleName, SizeOf(ModuleName));
           List.Add(ModuleName);
           CloseHandle(hProcess)
          end
         end
        end;
         
        procedure GetProcessList(var List: TStringList);
         var
          ovi: TOSVersionInfo;
        begin
         if List = nil then Exit;
         ovi.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
         GetVersionEx(ovi);
         case ovi.dwPlatformId of
          VER_PLATFORM_WIN32_WINDOWS: CreateWin9xProcessList(List);
          VER_PLATFORM_WIN32_NT: CreateWinNTProcessList(List);
         end
        end;
         
        Function EXE_Running(FileName:String;FullPath:Boolean=False):Boolean;
         var
          I:Integer;
          MyProcList:TStringList;
        begin
         MyProcList:=TStringList.Create;
         Try
          GetProcessList(MyProcList);
          Result:=False;
          If MyProcList<>Nil Then
           For I:=0 To Pred(MyProcList.Count) Do Begin
            If Not FullPath Then
             Result:=CompareText(ExtractFileName(MyProcList.Strings[i]),FileName)=0
            Else
             Result:=CompareText(MyProcList.Strings[i],FileName)=0;
            If Result then
             Break;
           End
         Finally
          MyProcList.Free;
         End;
        End;
        // (с) процедур чьи-то... не помню... :'(
         
         
        // 1) Запущен ли сервер?
          If Not EXE_Running('ibserver.exe')  Then
           ExitProgram('Внимение!'#13#10'Сервер InterBase не работает!'#13#10'Работа программы прерывается');
        Как я понял, здесь поиск в taskliste конкретного процесса..
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0190 ]   [ 15 queries used ]   [ Generated: 21.05.24, 12:04 GMT ]