Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
실행파일의 버전정보를 알고 싶을때는?
실행파일을 만들때 project- option 에 있는
version info 에 버전을 포함해서 만들었습니다.
이 만들어진 파일의 버전을 읽어오려면 어떻게 해야 할 지
......
2
COMMENTS
남기석
•
2000.11.03 10:08
안녕하세요
청개구리 남기석( http://www.delphitravel.com )입니다.
아래 님께서 잘 설명해 주셨는데요...
이건 제가 만들어서 사용하고 있는 펑션입니다.
자기 자신 뿐만 아니라....
모든 파일의 버전을 읽어 올 수 있습니다..
사용해 보세요 편하실꺼예요...
사용법은 간단합니다.
자기 자신의 버전읽기..
Label1.Caption := fncGetFileVersion( Application.FileName );
다른 파일의 버전 읽기
Label1.Caption := fncGetFileVersion( 'C:WindowsCalc.exe' );
// 실행 파일의 Version을 Return한다.
function TMyFunction.fncGetFileVersion( sFullName : string ) : string;
var
sVersion : string;
PFileName : array [0..255] of Char;
FFilename : string;
Vinfo : PChar;
Vitem : Pointer;
VersionSize : Longint;
VNHandle : DWord;
Rc : Boolean;
LenRes : DWord;
Lang,Code : Word;
Ne, L : Integer;
Xlate : String;
begin
FFilename := sFullName;
StrPCopy(PFileName,FFilename);
Vitem := @PFileName;
VersionSize := GetFileVersionInfoSize(VItem,VNHandle);
if VersionSize <> 0 then
begin
GetMem(Vinfo,Word(VersionSize));
RC := GetFileVersionInfo(PFileName,VNhandle,VersionSize,Vinfo);
if Rc then
begin
VerQueryValue(Vinfo,StrPCopy(PFileName,'VarFileInfoTranslation'),Vitem,LenRes);
Lang := $409;
Code := 0;
if Rc then
begin
Ne := LenRes Div 4;
For L := 1 to ne do
begin
Lang := LOWORD(LongInt(Vitem^));
Code := HIWORD(LongInt(Vitem^));
if Lang = $409 then break;
end;
end;
Xlate := 'StringFileInfo' + IntToHex(Lang,4) +IntToHex(Code,4) + '';
if VerQueryValue(Vinfo,StrPcopy(PFileName,Xlate+'FileVersion'),Vitem,LenRes) <> False then
sVersion := StrPas(Vitem);
FreeMem(Vinfo,VersionSize);
end else
begin
FreeMem(Vinfo,VersionSize);
sVersion := '0.0.0.0';
end;
end else
begin
sVersion := '0.0.0.0';
end;
Result := sVersion;
end;
행복하세요...
=============================================================================
초보자... wrote:
> 실행파일을 만들때 project- option 에 있는
>
> version info 에 버전을 포함해서 만들었습니다.
>
> 이 만들어진 파일의 버전을 읽어오려면 어떻게 해야 할 지
>
> ......
0
0
삭제
수정
댓글
각시탈
•
2000.11.03 03:12
초보자... wrote:
> 실행파일을 만들때 project- option 에 있는
>
> version info 에 버전을 포함해서 만들었습니다.
>
> 이 만들어진 파일의 버전을 읽어오려면 어떻게 해야 할 지
>
> ......
김영대님 홈에서 퍼옴..
참고 하시길..
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
InfoNum = 10;
InfoStr : array [1..InfoNum] of String =
('CompanyName', 'FileDescription', 'FileVersion', 'InternalName',
'LegalCopyright', 'LegalTradeMarks', 'OriginalFilename',
'ProductName', 'ProductVersion', 'Comments');
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
n, Len, i : Integer;
Buf : PChar;
Value : PChar;
begin
if not OpenDialog1.Execute then
System.Exit;
Memo1.Clear;
n := GetFileVersionInfoSize(PChar(OpenDialog1.FileName), n);
if n > 0 then
begin
Buf := AllocMem(n);
Memo1.Lines.Add('FileVersionInfoSize = ' + IntToStr(n));
GetFileVersionInfo(PChar(OpenDialog1.FileName), 0, n, Buf);
for i := 1 to InfoNum do
if VerQueryValue(Buf, PChar('StringFileInfo
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
이상림
•
2000.11.03 19:09
6
COMMENTS
/
0
LIKES
sql에서 sum을 이용하려 하는데요. 도와주세요
공성환
•
2000.11.03 21:42
Sum_money.SQL.Add('Select sum(sumprice) as sum_price, sum(Tax) as sum_tax, ...
어린왕자
•
2000.11.03 19:54
이궁.. sum(sumprice)를 접근하시려면.. param을 이용하시는게.. 사용법은 저두 잘..검색해보세요.. ...
이상림
•
2000.11.03 19:57
^^
이상림
•
2000.11.03 20:01
이상림 wrote: > ^^
어린왕자
•
2000.11.03 19:17
그룹별루 정렬해서 합을 보려구 하신게 아닌지요.. Group By 필드...절이 빠진거 같은데.. 아무래두^^; ...
이상림
•
2000.11.03 19:47
빨리좀 알려주세요 엉엉엉
권세용
2000.11.03 17:44
0
COMMENTS
/
0
LIKES
[급]drivelistbox서 a: 를 선택하면 down이 됩니다.
김광수
•
2000.11.03 12:37
4
COMMENTS
/
0
LIKES
마우스 커서뒤의 텍스트는 어떻게 알아내죠?
안영기
•
2000.11.03 18:49
김광수 wrote: > 영한사전같은 프로그램을보면 화면안의 임의의 글자위에 마우스 커서만 갖다데면 > 귀신...
김광수
•
2000.11.03 20:53
답변 대단히 고맙습니다. 이런 방법이 있는 줄은 제 실력으론 생각도 못했을 겁니다. 하지만 제가 ...
안영기
•
2000.11.04 02:38
김광수 wrote: > > 답변 대단히 고맙습니다. > > 이런 방법이 있는 줄은 제 실력으론 생각도 못했을 ...
윤종필
•
2000.11.03 18:02
글쎄요. 일반 텍스트라면 잘 모르겠구요. Label 또는 Edit 에 마우스가 있는지여부는 property On...
Webcome
2000.11.03 12:17
0
COMMENTS
/
0
LIKES
Decision Grid에서 일정 기간내의 데이타에 대해 처리를 할려면.....???
벤츄라
•
2000.11.03 11:20
1
COMMENTS
/
0
LIKES
BMP파일의 해상도와 크기에 대한 질문임다.
조규춘
•
2000.11.03 18:09
벤츄라 wrote: > 먼저 글을 읽어주어 감사함다... > > 합성한 이미지의 해상도를 구하고 그 해상도를 ...
찾는사람
•
2000.11.03 09:32
1
COMMENTS
/
0
LIKES
실수를 Char로 Char를 실수로 바꾸는 방법좀..
김일영
•
2000.11.03 09:32
FloatToStr과 StrToFloat를 사용하시고, string[K]하시면 문자열의 K번째 문자를 읽거나 쓸 수 있습니다. ...
황현동
•
2000.11.03 07:56
2
COMMENTS
/
0
LIKES
코딩창에서..
조규춘
•
2000.11.03 17:15
황현동 wrote: > 코딩창에서 > > 함수를 입력할때.. > > inttostr( > > 여기 까지만...
남기석
•
2000.11.03 09:40
안녕하세요 청개구리 남기석( http://www.delphitravel.com )입니다. 델파이 메뉴에서 Tools - Edito...
웹페이지
•
2000.11.03 07:42
1
COMMENTS
/
0
LIKES
DataSetPageProducer 아시는 분 ???
타락천사
•
2000.11.03 23:59
안녕하세여.. 타락임다..^^ 흠.. 질문을 잘 이해 못하겠는데.. c:Inetpubwwwrootscriptstest.dll 가...
jueui
2000.11.03 06:17
0
COMMENTS
/
0
LIKES
4.0 에서 자작 해서 쓰던 컴포넌트와 5.0 컴퍼넌트 이름이 같아요 도와 주세요...
호야
•
2000.11.03 09:34
4
COMMENTS
/
0
LIKES
모달폼에서 버튼을 눌러도 않죽게하는 법이 있나요?
남기석
•
2000.11.03 09:49
안녕하세요 청개구리 남기석( http://www.delphitravel.com )입니다. ModalResult속성을 mrok로 하셨다...
호야
•
2000.11.03 20:47
ModalResult를 mrNone으로 바꿔서 했더니 실행이 않되네요. 모달폼을 띄운 쪽에서 If문으로 ModalResult...
남기석
•
2000.11.04 06:36
안녕하세요 청개구리 남기석( http://www.delphitravel.com )입니다. 당연합니다... mrNone 으로 하면...
김일영
•
2000.11.03 09:37
호야 wrote: > 모달폼있는 버튼의 ModalResult속성을mrok로 했습니다. > 저는 이번을 눌러도 죽지않게하...
질문
2000.11.03 09:38
0
COMMENTS
/
0
LIKES
텍스트 파일에 입력/수정/삭제하는 법?
김시준
2000.11.03 05:01
0
COMMENTS
/
0
LIKES
Master-Detail-Detail관계에서 DATA 삭제하기.....
임지희
•
2000.11.03 04:48
1
COMMENTS
/
0
LIKES
SQL SERVER7.0 에서 트리거를 이용하는 방법좀 가르쳐 주세여(급구)
그냥델피언
•
2000.11.09 01:10
님이 원하신 자료를 보시려면 트리거를 이용하는 것은 연쇄 작업을 하려고 할 때 쓰는 방법이고 만약 테...
문의
•
2000.11.03 04:00
1
COMMENTS
/
0
LIKES
스트링그리드의 관련된 질문
남기석
•
2000.11.03 10:24
안녕하세요 청개구리 남기석( http://www.delphitravel.com )입니다. 제가 현재 님께서 말씀하신 방식...
delpo
•
2000.11.03 03:51
1
COMMENTS
/
0
LIKES
다음의 예문을 보시고 설명을 부탁 드립니다.
왕초*^^*
•
2000.11.03 04:07
function TForm1.sort(flag: integer) : boolean; var i, j, tmp : integer; begin tmp := 0; ...
초보
•
2000.11.03 03:50
4
COMMENTS
/
0
LIKES
스트링그리드에서 MultiSelect 방법좀...
castle road
•
2000.11.03 04:17
stringGrid1 property중에 options가 있습니다. 고것 확장시켜보면 goRowSelect가 있는데 요걸 true로 하...
왕초*^^*
•
2000.11.03 12:24
아니요... 그거 말구요.... 스트링그리드에 셀 여러개 있는데... 그중 하나 선택하면 그 셀의 행의 모든 ...
김일영
•
2000.11.03 19:05
안녕하세요. Q&A 게시판 운영 보조자 입니다. 일단 답변 올라온 내용이 맞는 것 같은데요. 실행해보셨나요...
왕초*^^*
•
2000.11.05 10:46
제가 말한건 그러니까....ㅜ.ㅜ 스트링그리드에서여... 마우스로 드래그 하거나 쉬프트키 누르고 마우스로...
초보자...
2000.11.03 03:11
0
COMMENTS
/
0
LIKES
폴더 공유는 되었지만. 실제 복사하려면 시스템 에러가..
초보자...
•
•
2000.11.03 02:59
2
COMMENTS
/
1
LIKES
실행파일의 버전정보를 알고 싶을때는?
실행파일을 만들때 project- option 에 있는 version info 에 버전을 포함해서 만들었습니다. 이 만들어진 파일의 버전을 읽어오려면 어떻게 해야 할 지 ......
남기석
•
2000.11.03 10:08
안녕하세요 청개구리 남기석( http://www.delphitravel.com )입니다. 아래 님께서 잘 설명해 주셨는데...
각시탈
•
2000.11.03 03:12
초보자... wrote: > 실행파일을 만들때 project- option 에 있는 > > version info 에 버전을 포함해...
youngae
•
2000.11.03 02:59
1
COMMENTS
/
0
LIKES
treeview에 +클릭시 이미지 변환
김경식
•
2000.11.03 04:44
procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean...
영서기
2000.11.03 09:45
0
COMMENTS
/
0
LIKES
ActiveX Form에 Twebbrowser를 올렸는데 Ctrl+C등이 안먹는 이유?
초보자...
2000/11/03 02:59
Views
543
Likes
1
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
청개구리 남기석( http://www.delphitravel.com )입니다.
아래 님께서 잘 설명해 주셨는데요...
이건 제가 만들어서 사용하고 있는 펑션입니다.
자기 자신 뿐만 아니라....
모든 파일의 버전을 읽어 올 수 있습니다..
사용해 보세요 편하실꺼예요...
사용법은 간단합니다.
자기 자신의 버전읽기..
Label1.Caption := fncGetFileVersion( Application.FileName );
다른 파일의 버전 읽기
Label1.Caption := fncGetFileVersion( 'C:WindowsCalc.exe' );
// 실행 파일의 Version을 Return한다.
function TMyFunction.fncGetFileVersion( sFullName : string ) : string;
var
sVersion : string;
PFileName : array [0..255] of Char;
FFilename : string;
Vinfo : PChar;
Vitem : Pointer;
VersionSize : Longint;
VNHandle : DWord;
Rc : Boolean;
LenRes : DWord;
Lang,Code : Word;
Ne, L : Integer;
Xlate : String;
begin
FFilename := sFullName;
StrPCopy(PFileName,FFilename);
Vitem := @PFileName;
VersionSize := GetFileVersionInfoSize(VItem,VNHandle);
if VersionSize <> 0 then
begin
GetMem(Vinfo,Word(VersionSize));
RC := GetFileVersionInfo(PFileName,VNhandle,VersionSize,Vinfo);
if Rc then
begin
VerQueryValue(Vinfo,StrPCopy(PFileName,'VarFileInfoTranslation'),Vitem,LenRes);
Lang := $409;
Code := 0;
if Rc then
begin
Ne := LenRes Div 4;
For L := 1 to ne do
begin
Lang := LOWORD(LongInt(Vitem^));
Code := HIWORD(LongInt(Vitem^));
if Lang = $409 then break;
end;
end;
Xlate := 'StringFileInfo' + IntToHex(Lang,4) +IntToHex(Code,4) + '';
if VerQueryValue(Vinfo,StrPcopy(PFileName,Xlate+'FileVersion'),Vitem,LenRes) <> False then
sVersion := StrPas(Vitem);
FreeMem(Vinfo,VersionSize);
end else
begin
FreeMem(Vinfo,VersionSize);
sVersion := '0.0.0.0';
end;
end else
begin
sVersion := '0.0.0.0';
end;
Result := sVersion;
end;
행복하세요...
=============================================================================
초보자... wrote:
> 실행파일을 만들때 project- option 에 있는
>
> version info 에 버전을 포함해서 만들었습니다.
>
> 이 만들어진 파일의 버전을 읽어오려면 어떻게 해야 할 지
>
> ......