프로그래밍 319

델파이 컴파일러를 감염시키는 바이러스 주의(델파이 4~7)

최근 델파이 컴파일러의 특정 dcu(sysconst)에 바이러스 코드를 심어 감염된 컴파일러를 통하여 빌드하여 배포되는 모든 프로그램에 바이러스가 함께 빌드되어 문제가 되어 있다고 합니다. 바이러스명은 W32/Induc-A Virus (or the Delphi Virus) 이고, 시스템에 심각한 영향을 미치지는 않지만, 몇몇 백신 프로그램에서는 바이러스 감염시 해당 실행파일을 삭제해 버린다고 합니다. 실행 프로그램 자체를 삭제해 버리면 배포된 프로그램에 심각한 영향을 주게 되는데 말이죠... 관련된 글들을 모아 봤습니다. Delphi 4~7을 감염시키는 바이러스 유행중 Virus infects Delphi ; 해외에서 발견된 바이러스 증상 현재까지의 바이러스 대처 상황 현재까지의 바이러스 대처 상황 #2

사용중인 윈도우즈 버전 알아내기

응용 프로그램 작업을 컴퓨터에서 운영 체제를 실행 중인 따라 다르게 할 수 있습니다. 이 문서에서는, 예제로, Microsoft Windows 95, Microsoft Windows 98을, Microsoft Window NT 3.51, Microsoft Windows NT 4.0, Microsoft Windows 2000 및 Windows XP 구별하는 방법. Win32 GetVersionEx 함수는 프로그램을 사용하여 운영 체제를 확인할 수 정보를 반환합니다. 이러한 값은 중에는 주 버전과 부 버전 번호 및 플랫폼 식별자 있습니다. Windows 98 도입으로 지금 사용 중인 Windows 버전을 확인하려면 보다 관련된 논리 평가 사용합니다. 아래에 목록 GetVersionEx 함수에 의해 채워진 O..

프로그래밍 2009.08.21

IIS 웹로그가 생성이 안되었던 문제...

AWStats 를 연동하여 웹로그를 분석하려는데, 특정 서버에서 IIS 웹로그가 생성되지 않는 문제가 발생하였습니다. 결론적으로 매우 단순한 문제였었는데... 이것 저것을 헤매였네요. 사이트 등록정보의 홈디렉토리 부분의 방문자 로그 부분이 비활성화 되어 있어서 로그가 기록되지 않았던 것이었습니다. -_-;(아래 그림 참조) 참고적으로 AWStats에서 웹로그를 제대로 분석하려면, IIS 로그 설정 부분을 아래와 같이 설정해 주시면 됩니다.

프로그래스바(TProgressBar) 색 바꾸기

프로그레스바의 색을 바꾸는 방법은 매우 간단합니다. 위 그림을 보면, 붉은색으로 색을 변경하였는데, SendMessage로 메시지를 보내면 색 변경이 가능합니다. SendMessage(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, RGB(255, 0, 0)); PBM_SETBARCOLOR 상수가 CommCtrl에 정의되어 있으므로, 그 유닛을 포함해 줘야만 컴파일이 성공적으로 됩니다. 아래 위 데모의 예제 소스를 첨부합니다. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls, Co..

비스타(Vista)에서 ActiveX UAC 관련 문제

개요 XP에서 정상동작하던 ActiveX가 비스타 이상에서는 정상적으로 동작하지 않는 경우가 발생하였습니다. 원인은 비스타에서 강화된 보안의 영향으로 ActiveX에서 PC 주요 내부를 사용할 경우, 관리자 권한이 필요하게 되었는데, 일반적인 모드에서는 관리자 모드가 아니기 때문에, 관련 기능이 실패하여 발생한 문제였습니다. 다음은 비스타에서 일반적인 사용자 모드에서는 권한이 제한되는 기능들입니다. Change files in Program Files folders Change files in Windows or System32 folders Change registry under HKLM\Software Change the local machines date and time Install or unin..

ActiveForm의 DAX 오류 해결하기.

Delphi7을 이용한 ActiveForm을 제작하였더니, 다음과 같은 오류가 발생하였습니다. TActiveForm의 OnDestroy가 호출되지 않는 문제가 있었고, ActiveForm을 오랫동안 사용하게 되면, 알 수 없는 오류들이 발생하는 것이었습니다. 구글링을 하여 보면, 여러 자료들이 나오고 아래 참고자료를 참고해 보시면 되고, 저는 다음과 같이 해결하였습니다. 먼저 델파이 VCL의 axctrls.pas 소스의 ParkingWindow 윈도우 부분을 아래와 같이 수정합니다. 수정 전에 원본 axctrls.pas 파일과 axctrls.dcu 파일을 백업해 둡니다. function ParkingWindow: HWND; var TempClass: TWndClass; ParkingName : Strin..

TADOStoredProc를 통한 저장 프로시저 호출하기

델파이로 C/S 프로그램밍을 하다 보면, SQL 서버의 성능 및 보안 등 여러 유용함으로 저장 프로시저를 많이 사용하게 됩니다. 아래는 ADO의 TADOStoredProc를 통한 저장 프로시저 호출에 대한 부분을 정리하여 보았습니다. ADO가 아닌 다른 경우에도 대동소이할겁니다. 1. 호출 과정 TADOStoredProc 객체를 생성(Create)합니다. 저장 프로시저를 호출하기 위한 여러 속성들, 연결(Connection) 및 저장 프로시저 이름(ProcedureName) 등을 설정합니다. 파라미터를 초기화합니다.(CreateParameter) 저장 프로시저를 실행합니다.(Open / ExecProc) 저장 프로시저가 실행된 결과를 받아서 처리합니다.(RecordCount, Eof, Fields, Mo..

ASP에서 UTF-8 처리

1. 모든 ASP 코드 페이지 첫줄에 다음과 같은 코드를 추가 2. Meta 테그를 다음과 같이 추가 3. asp 소스 저장할 때 반드시 Encoding 방식을 UTF-8 로 저장 4. SQL 쿼리시 문자열인 경우, 항항 앞에 N을 추가하여 유니코드로 처리되도록 함 INSERT INTO [테이블이름] [(열 목록)] VALUE ( N'데이터1', N'데이터2', GETDATE() ) SELECT col1, col2 FROM MY_TABLE WHERE 1 = 1 AND col3 LIKE N'검색어%'

728x90