이녁 하늘 아래

PureBasic 6.40 한글 배워보기 본문

Autoit3 및 PureBASIC

PureBasic 6.40 한글 배워보기

이녁 2026. 8. 8. 13:08
PureBasic 6.40 한글 배워보기

 

 

처음부터 무엇을 할 수 있으며, 새로운 PureBasic 문법을 배우는 것도 쉽다고 하지만, 아마도 얼마나 관심을 가지고 접근하면 되지 않을까 하는 희망사항을 가져보긴 하는데

 

 

언제나 언어를 처음 배우면 Hello World라는 디플레이창이라는 곳에 표시되는 첫 구문을 배우게 된다. 항상 익숙한 C언어를 처음 베우면 첫 장에서 항상 눈에 익는 문장이다.

 

MessageRequester("Message Box", "Hello World")

 

PureBasic 베이직에서는 MessageRequester로 문자를 화면에 뿌린다.

 

MessageRequester 문법


  Result = MessageRequester("Title", "Please make your input:", #PB_MessageRequester_YesNo)


  a$ = "Result of the requester was: "
  If Result = #PB_MessageRequester_Yes    ; pressed Yes button
    a$ + "Yes"
  Else                                    ; pressed No button
    a$ + "No"
  EndIf


  MessageRequester("Information", a$, #PB_MessageRequester_Ok)

 

 

 

MessageRequester과 간단한 IF 조건절 루틴에 대하여 알아보았다.

 


PureBasic 6.40는 이전 버전과 문법이 상당이 다르며, 프로그램 익히기에는 간혹 난관이 부지치는 일이 종종 발생할 수도 있다.

 

 

 

첨부 파일 :

1회_07.exe
0.37MB

 

 

 

- 1회 Wim 이미지 부팅기

- 관리자 권한 실행

- VM에서 테스트 후 사용

 

개발 일지 :

⚙️ 주요 포인트

  • PB 4.0 호환: #PB_Event_DropFiles, #PB_Window_DragDrop 직접 정의.
  • RunProgram 호출 수정: .exe까지 명시, 따옴표는 Chr(34)로 처리.
  • 진행률 + 상태 메시지 병행: ProgressBar와 텍스트로 단계별 진행 상황 표시.
  • boot.sdi 확인: 없으면 오류 메시지 출력 후 중단.
  • 관리자 권한 실행 필수: bcdedit.exe, shutdown.exe, schtasks.exe는 관리자 권한이 필요합니다.

⚠️ 체크 포인트

  • PureBasic 4.0에서는 문자열 안의 따옴표를 반드시 이스케이프(\")하거나 Chr(34)로 처리해야 합니다.
  • RunProgram()의 첫 번째 인자는 항상 "프로그램명.exe" 형태의 문자열이어야 합니다.
  • 관리자 권한으로 실행해야 정상 동작합니다.

👉 결론: RunProgram("schtasks.exe", ~"/create ...", "") 형태가 맞습니다.

 

PureBasic 4.0에서도 'bcdedit'는 유효한 연산자가 아닙니다 에러 없이 컴파일됩니다. 혹시 여전히 문제가 생기면, RunProgram 호출 부분을 한 줄씩 테스트해보면서 실행 파일 경로가 올바른지 확인해보시는 게 좋으며,

RunProgram("schtasks.exe", "/create /tn DeleteBootGUID /sc onstart /tr \"bcdedit.exe /delete " + GUID$ + "\" /f", "")
 
구문이 맞을까 검토를 해 보면,

 

PureBasic에서 RunProgram()을 사용할 때 인자 문자열 안에 따옴표(")가 들어가면, 그 자체가 문자열 종료로 인식되어 구문 오류가 나거나 'bcdedit'는 유효한 연산자가 아닙니다 같은 에러가 발생할 수 있습니다.

따라서 schtasks.exe 호출 부분은 따옴표를 이스케이프 처리해야 합니다. PureBasic에서는 문자열 안에서 큰따옴표를 넣으려면 ~ 접두어를 사용하거나 Chr(34)를 이용하는 방법이 있습니다.

 

RunProgram("schtasks.exe", "/create /tn DeleteBootGUID /sc onstart /tr " + Chr(34) + "bcdedit.exe /delete " + GUID$ + Chr(34) + " /f", "")

 

또는 

 

RunProgram("schtasks.exe", ~"/create /tn DeleteBootGUID /sc onstart /tr \"bcdedit.exe /delete " + GUID$ + "\" /f", "")

 

⚠️ 체크 포인트

  • PureBasic 4.0에서는 문자열 안의 따옴표를 반드시 이스케이프(\")하거나 Chr(34)로 처리해야 합니다.
  • RunProgram()의 첫 번째 인자는 항상 "프로그램명.exe" 형태의 문자열이어야 합니다.
  • 관리자 권한으로 실행해야 정상 동작합니다.

 


 

Comments