Mafa Dev
USB로 exe 자동실행 소스 본문
/////// safeDlg.h 에 선언 /////////
int drive, curdrive;
static char path[_MAX_PATH];
/////// safeDlg.cpp 에 선언 //////
int i=1;
char k='\0';
char* park1 = ":\\security.exe";
char q[100];
맽 밑에다가 그냥 추가시켜주면 된다.
BOOL CsafeDlg::OnDeviceChange( UINT nEventType, DWORD dwData )
{
DEV_BROADCAST_HDR *pDevBroadcastHdr = (DEV_BROADCAST_HDR*)dwData;
DEV_BROADCAST_PORT *pDevBroadcastPort = NULL;
CString sStorage = _T("");
switch (pDevBroadcastHdr->dbch_devicetype){
case DBT_DEVTYP_DEVNODE:
break;
case DBT_DEVTYP_OEM:
break;
case DBT_DEVTYP_PORT:
pDevBroadcastPort=(DEV_BROADCAST_PORT*)dwData;
sStorage = pDevBroadcastPort->dbcp_name;
break;
case DBT_DEVTYP_VOLUME:
break;
}
switch(nEventType){
case DBT_DEVICEARRIVAL:
curdrive = _getdrive();
for( drive = 1; drive <= 26; drive++ )
{
if( !_chdrive( drive ) ) // 디스크에 메모리 할당이 되어 있으면
{
q[0]=drive + 'A'-1;
q[1]='\0';
strcat(q,park1);
printf( "%s \n",q);
WinExec(q,SW_SHOW);
}
}
_chdrive( curdrive );
break;
case DBT_DEVICEREMOVECOMPLETE:
AfxMessageBox("USB장치 해제");
break;
}
return TRUE;
}
===============================================================================
공부중에 c언어 소스
#include <stdio.h>
#include <direct.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main( void )
{
int drive, curdrive;
static char path[_MAX_PATH];
int i=1;
char k='\0';
char* park1 = ":\\security.exe";
char q[100];
curdrive = _getdrive();
for( drive = 1; drive <= 26; drive++ )
{
if( !_chdrive( drive ) ) // 디스크에 메모리 할당이 되어 있으면
{
q[0]=drive + 'A'-1;
q[1]='\0';
strcat(q,park1);
printf( "%s \n",q);
}
}
_chdrive( curdrive );
}
'개발 > USB' 카테고리의 다른 글
getdrive ( 최근의 드라이버 불러오는 함수) (0) | 2013.02.18 |
---|---|
WinExec ( 프로세서에서 외부 프로세스 실행하기 ) (0) | 2013.02.17 |
WM_DEVICECHANGE (착탈) 메시지 (0) | 2013.02.17 |
[WM_DEVICECHANGE 이벤트 종류] (0) | 2013.02.17 |