::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-07 22:15:45, Hit : 4886, Vote : 1128
 Outlook Express 설치여부 알아내기

First you will have to add Registry.pas to your unit's uses clause.
Next I made a procedure to check if Outlook Express exists and declared it in the TForm1 private area, you can just add it to the same TButton.OnClick event if you wish.
When using the registry, first you need to create an instance of TRegistry. Next you need to set the RootKey. Then you will open the key that you want to open. Notice that I added a back-slash to the beginning of the key name. Then you can manipulate the entries of the registry by using the available methods of TRegistry.
Notice that I checked for a backslash at the end of the key's path entry. This is becasue I am not sure if it is the same on all systems.
Example 1

{...}

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function OutExInstalled:Boolean;
  end;

{...}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OutExInstalled() then
    ShowMessage('Outlook Express is Installed')
  else
    ShowMessage('Outlook Express is not Installed');
end;

function TForm1.OutExInstalled:Boolean;
var
  Reg    : TRegistry;
  tmpStr : String;
begin
  Result := False;
  try
    Reg := TRegistry.Create;
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('SoftwareMicrosoftWindowsCurrentVersionApp Pathsmsimn.exe',
                   FALSE) then
    begin
      if Reg.ValueExists('Path') then
      begin
        tmpStr := Reg.ReadString('Path');
        if tmpStr[Length(tmpStr)] <> '' then
          tmpStr := tmpStr + '';
        Result := FileExists(tmpStr+'msimn.exe');
      end;
    end;
  finally
    Reg.Free;
  end;
end;





  [일반/컴포넌트] Outlook Express 설치여부 알아내기  김영대 2003/03/07 4886 1128
490   [알고리즘] 임의의 밑수(radix)를 사용한 진법변환  김영대 2004/12/08 4886 1215
489   [윈도우즈 API] 화면캡처하기 Delphi3.0에서...  김영대 2003/03/04 4887 1327
488   [일반/컴포넌트] ListBox.Items.Add 는 느리고 깜박거린다(?)  김영대 2003/03/05 4888 1139
487   [윈도우즈 API] 탐색기와 같은 BrowseFolder 열기  김영대 2003/03/05 4888 1317
486   [윈도우즈 API] 메모(TMemo)의 커서(캐럿)모양 바꾸기  김영대 2003/03/05 4888 1913
485   [시스템] 설치된 modem 리스트 구하기  김영대 2003/03/07 4888 1416
484   [COM/OLE] Registering *.tlb files without Delphi  김영대 2003/03/06 4891 1127
483   [네트웍/인터넷] 네트워크 컴퓨터가 존재하는지 검사하기  김영대 2003/03/07 4892 1261
482   [윈도우즈 API] 휴지통이 비어있는지 확인하기  김영대 2004/08/05 4896 1242
481   [윈도우즈 API] 다른 프로그램의 구동 디렉토리 알아내기  김영대 2003/03/07 4898 1336
480   [일반/컴포넌트] 문자열 역으로 만들기(reverse a string)  김영대 2003/03/06 4899 1486
479   [일반/컴포넌트] ListBox의 내용을 클립보드로 복사하기  김영대 2003/03/05 4903 1134
478   [일반/컴포넌트] TRichEdit 콤포넌트 없이 RTF파일 인쇄하기  김영대 2003/03/05 4903 1420
477   [네트웍/인터넷] 인터넷에 LAN 또는 Modem으로 접속중인지 검사  김영대 2003/03/07 4905 1300
476   [일반/컴포넌트] 프린터로 escape 문자 출력하기(raw print)  김영대 2003/03/07 4907 1231
475   [네트웍/인터넷] IP로 이름 구하기 또는 이름으로 IP 구하기  김영대 2003/03/30 4908 1286
474   [일반/컴포넌트] Convert between a DFM and a TXT file  김영대 2003/03/05 4909 1428
473   [데이터베이스] DBGrid 에서 선택된 필드의 타이틀을 굵게  김영대 2003/03/04 4911 1356
472   [시스템] CD-ROM 문 열기/닫기  김영대 2003/03/04 4915 1413
471   [알고리즘] 32bit CRC (cyclic redundancy check)  김영대 2004/09/17 4918 1233
470   [일반/컴포넌트] Bitmap(BMP) 크기를 변경(Stretch)하여 저장하기  김영대 2003/03/07 4919 1299
469   [시스템] 프로그램 제거(Uninstall) 목록 구하기  김영대 2004/08/05 4923 1308
468   [일반/컴포넌트] 동적으로 프로젝트의 Main form 바꾸기  김영대 2003/04/11 4924 1188
467   [일반/컴포넌트] StrToFloatDef  김영대 2003/11/13 4927 1258
466   [시스템] CPU의 사용률 구하기  김영대 2003/03/07 4929 1275
465   [일반/컴포넌트] Memo의 커서를 특정 위치로 보낸후 scroll 시키기  김영대 2003/03/05 4933 1158
464   [시스템] 마우스 포인터 속도 바꾸기  김영대 2003/03/06 4933 1250
463   [일반/컴포넌트] ListView 의 column header 오른쪽에 이미지 넣기  김영대 2003/03/07 4937 1209
462   [일반/컴포넌트] PageControl 에서 미리 이동하려는 Sheet 알아내어 제어하기  김영대 2004/09/13 4939 1260
461   [일반/컴포넌트] ASCII printing  김영대 2003/03/06 4940 1196
460   [일반/컴포넌트] MIME 타입에 해당하는 파일 확장자 구하기  김영대 2004/11/18 4941 1326
459   [네트웍/인터넷] Read/Write to COM Port  김영대 2003/03/07 4943 1173
458   [일반/컴포넌트] Multi-Line Hints  김영대 2003/03/05 4948 1487
457   [일반/컴포넌트] URL 을 각 part로 분리하기  김영대 2003/03/30 4955 1272
456   [윈도우즈 API] '알려진 파일 형식의 파일 확장명 숨김' 여부  김영대 2004/08/25 4955 1250
455   [윈도우즈 API] IE 임시 인터넷 파일 폴더 비우기2  김영대 2004/08/11 4958 1299
454   [COM/OLE] How to register an OCX  김영대 2003/03/06 4959 1169
453   [일반/컴포넌트] 파일의 변경/생성/사용한 날짜 바꾸기  김영대 2003/03/07 4959 1260
452   [윈도우즈 API] 현재 키보드 입력 언어 구하기  김영대 2004/07/24 4962 1347

[이전 10개] [1]..[11][12] 13 [14][15][16][17][18][19][20]..[25] [다음 10개]
 

Copyright 1999-2021 Zeroboard / skin by zero