|
박정욱 님이 쓰신 글 :
: 강요찬 님이 쓰신 글 :
: : 안녕하세요.
: : 문제는 이렇습니다.
: :
: : 예를 들어 파일명이 <If_I_Needed_You.mp3> 와 같이 빈칸이 들어 있지 않은 파일명일 경우엔
: :
: : WinExec("winamp.exe If_I_Needed_You.mp3",SW_SHOWNORMAL);
: :
: : 이 명령으로 윈앰프가 실행이 되는데........
: :
: : 파일명이 <If I Needed You.mp3> 와 같이 빈칸이 들어 있는 파일명일 경우엔
: :
: : WinExec("winamp.exe If I Needed You.mp3",SW_SHOWNORMAL);
: :
: : 이 명령문은 실행이 안 됩니다.
: : 아마 If I Needed You.mp3 를 4개의 패러미터로 받아들이는가 봅니다.
: : 이것을 해결할 방법은 없겠는지요?
: : 고수님들의 도움의 말씀 부탁드립니다.
: : 감사합니다.
: :
: :
: :
: :
:
: 안녕하세요...
: phoihos입니다...
:
: WinExec의 원형을 보면 다음과 같습니다...
: UINT WinExec(
: LPCSTR lpCmdLine, // command line
: UINT uCmdShow // window style
: );
:
: lpCmdLine은 윈도우가 수행할 프로그램이고
: uCmdShow는 보여질 윈도우의 형태를 나타냅니다.
:
: 여기서 lpCmdLine은 실행할 프로그램(.exe)과 함께 실행 시킬 프로그램에게 전달할
: 부가적인(optional parameters)인 파라미터를 함께 쓸 수가 있습니다.
: 그런데 이 부가적인 파라미터는 어디까지나 실행될 프로그램에게 적용되는 것입니다.
:
: 그리고 님이 다른 프로그램을 그런식으로 실행시켜 보았는지는 모르겠지만
: 다름 프로그램의 경우에는 가운데 '스페이스(공백)'가 들어 있었도 잘 돌아 갑니다.
:
: 그런데 윈앰프는 스페이스로 다른 부가적인 옵션을 구분하는 하는 것같습니다.
: (시간이 없어서 윈앰프의 파라미터를 찾아 보지 못했습니다...ㅠ.ㅠ)
:
: 아참, 다연한 얘기 겠지만 윈앰프에서 '스페이스' 파라미터를 구분하면
: 문자열(lpCmdShow)을 다른 변수에 넣을때 뭐 아스키 코드를 넣은다던가 뭐 그런 방법역시
: 되지 않을 것입니다...윈앰프가 '스페이스'를 않좋아 하기때문에...-_-;;(<== 요건 농담)
:
: 그럼...도움이 되셨기를...
:
: from poi
제라툴 입니다.
후 ~~ 그냥 보충설명 입니다..
WinExec API의 파라미터중 UINT nCmdShow 이라는 파라미터는 윈도우 실행시 기본 실행 폼을 설정합니다.
그러니까.. 윈도우의 크기을 정해주는 역할을 하죠..
그 파라미터에 들어 갈수 있는 값은 여러가지 있는데...
SW_HIDE,SW_MAXIMIZE,SW_MINIMIZE,SW_RESTORE,SW_SHOW,SW_SHOWDEFAULT,SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED,SW_SHOWMINNOACTIVE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL
요런 것들이 있습니다.
후...
글구 실행프로그램 종료에 관해서 (쓸대없는 거지만....)
잠깐설명 드릴게엽...
PostWindow 나 SendMessage를 이용해서 실행된 프로세서의 헨들을 통해서..
종료하는 것이 가장쉽구여...
핸들값은 FindWindow를 통해 실행 프로세서의 Class명으로 간단히 얻을 수 있습니다.
이런 방법으로 프로그램을 종료 할수 있습니다.
- 제라툴 -
|