♥ 모디안에 오신걸 환영합니다. ♥
{M:0/G:0}
개발자 코너


 광묘 ( 2004-09-02 07:26:22 , Hit : 7350
 사용자 이름을 바꿔주는 프로그램.

아시는 분들은 이미 아시겠지만...

프로그램을 쓰다보면 가끔씩 사용자 이름을 바꿔줘야 하는 경우가 생기죠...

국내에선 절대로 구할수 없는 프로그램을 돌리고 싶을때도 있을테고...

... 뭐 여러가지 경우가 있겠죠... ㅡ_ㅡ;;

그래서 간단히 프로그램을 하나 만들어 볼려고 합니다.

프로그램 자체는 상당히 간단합니다.



이 프로그램을 실행시키면 사용자 이름과 프로그램 위치를 넣는 칸이 있습니다.

칸을 채워 넣으면, 실행화일 하나를 생성합니다. 이 실행화일은 프로그램 아이콘을 갖고 있습니다.

이 실행화일을 실행시키면,

사용자 이름을 입력된 이름으로 바꾸고, 프로그램을 실행시킵니다.



... 여기까지는 일단 쉬운것 같지만... 문제가 하나 있습니다.

"바껴진 사용자 이름은 언제 복구할 것인가?"

첫번째 해결책은 프로그램이 끝나고 나서 사용자가 수동으로 바꾸는 방법이고,

두번째 해결책은 프로그램이 트레이에 상주하면서 해당 프로그램이 종료될때 사용자 이름을

복구하는 것입니다.

새번째 해결책은 임시방편입니다만, 대부분의 프로그램이 시작시에 사용자 이름을 확인하므로,

프로그램 실행후 10초정도 대기하다가 사용자 이름을 복구하는 것입니다.

다른 아이디어 있으신 분들은 알려주세요...^^



그리고... 가장 기본적인 것들이 필요하네요...

레지스트리가 저장되는 파일이름이 무엇인가?

어디에 사용자 이름이 저장되는가?

프로그램으로부터 아이콘을 어떻게 추출하는가? (다른프로그램으로 추출하고 연결시킬수도 있겠죠)

정 안되면... 수작업으로 프로그램 실행기를 만들어야 할 수도...^^;;;



흐음. 생각해보니 잘만 뒤져보면 디바이스 넘버까지 바꿀수 있지 않을까요?

하드리셋 후에도 데스크탑에 다시 등록할 필요가 없게 말이에요...^^



(2004-09-04 04:15:24)  
흠..
포켓 GB등을 실행시킬때 필요하겠구먼요..
오너 이름 등록되는 곳을 알고 싶으신 건가요?
거기라면 간단한데.. ^^
(2004-09-04 04:17:41)  
HKEY_CURRENT_USER/ControlPanel/Owner
입니다. ^^
sinner (2004-09-04 13:49:23)  
이거 맹글어졌으면 좋겠어요 ;_ ;
광묘 (2004-09-04 23:41:19)  
그러니까... 문제는...^^
레지스트리가 파일로 저장되는데, 그 파일을 손대게 될 경우에 원래 오너이름과 바꾸는 오너이름의 길이가 맞지 않아서 파일이 손상될 위험이 있다는거죠...^^
그렇다면 레지스트리를 제어하는 명령을 써서 레지스트리값을 바꿔야 한다는 뜻이고, 결국 레지스트리를 수정하는 명령을 알아야 하는거겠죠...
결국 프로그램은,
레지스트리수정-프로그램실행-10초대기-레지스트리재수정
이라는 순서를 거치게 되겠죠... 혹시 다른방법 생각나시는분?
(2004-09-05 11:29:17)  
흠..
굳이 그럴 필요 없이.
TascalRegedit등의 프로그램과 reg파일을 링크시켜 놓고
reg파일을 실행시키면 될것 같습니다만.. (너무 무성의한 답변인가요..)
파일이 손상될 위험이라는게 뭔지 잘 이해가..
그리고 EVB(or EVC)의 help를 보면 도움이 많이 될듯.. (help애용가입니다. 다른 프로그램은 절대 안쓰지만 MSDN..좋은 놈입니다.-_-)
광묘 (2004-09-05 14:34:31)  
아 처음엔 reg만 실행시키는것도 생각해 보았습니다만...
프로그램 실행전에 reg실행하고, 프로그램 끝내고 다시 reg실행하는게
생각외로 귀찮더군요...^^ 그래서 한번의 더블탭으로 다 할수 있지 않을까 해본거죠...^^
물론 하나의 파일로요.^^
(2004-09-06 01:40:30)  
흠..
그러니까 제말은..
reg파일을 레지스트리 에디터에 연결시켜놓으면 reg파일을 더블탭하면 자동으로 import되지 않습니까.
그러니까 프로그램 소스가 엄청 간단해질수 있다는 거지요.. ^^
프로그램 load될때 바꿀 레지를 실행시키게 하고.
timer에 복구하는 레지를 실행시키게 걸어놓고.
timer뒤에 unload를 하면 될것 같습니다만.. (그럴꺼면 니가 해라)
sinner (2004-09-06 12:08:40)  
그러면 순서가 레지스트리관련 어플-> 실제실행할 어플

이런 순서가 되는데... 런치 기능까지 있으면... 더 편할듯 -_;;
sinner (2004-09-06 12:09:38)  
실행-> 레지등록-> 프로그램실행-> 일정시간 지난후 레지복구-> 실행종료
광묘 (2004-09-10 02:43:43)  
대충 이런코드가 필요하군요... ㅡ_ㅡ;;
http://www.pocketpcdn.com/articles/registry.html
광묘 (2004-09-10 03:05:52)  
런쳐기능은 처음부터 고려했던 기능인데요...^^
.reg를 에디터에 연결해서 실행하는 방법은 에디터의 종류와 reg파일의 내용에 따라서 오류가 날수 있는 방법이라서 좀 꺼려지네요...^^
그리고... 단순하게 만드는게 목적인 만큼 파일갯수도 줄였으면 하고요...
역시 코드안에서 레지스트리값을 수정하는 방법이 좋겠죠? ^^
개발자들이 만들어놓은 해더파일(?)들이 있으니 이걸 이용해 보는것도 좋은 방법이겠네요.
레지스트리 수정과 대기 명령은 알았으니 외부 프로그램 실행 명령만 알면 되겠군요... 이론적으로만요...^^
F717 (2004-09-26 03:08:25)
외부 프로그램 실행은 짱~쉬운데요..
뭐였더라..요즘 프로그램쪽은 안만져서..
shell이었던가.. --;
쨔튼 그럴껍니다.
근데 개발 언어가?




38   이런곳이 꼭 필요하다고 느꼈어!^^ [3]   2004/06/17 7283
37   프로그래밍 언어 공부중;; [4]   2004/06/20 7462
36   이런 기본 사항 알려주실 분 안 계신가요? ^... [3]  류종성 2004/06/24 7529
35   실행파일을 어떻게 만드나요? --; [2]  류종성 2004/06/28 7345
34   제작 예 [4]   2004/06/28 7451
33   에뮬레이터가 없는 건가요? [4]  류종성 2004/06/29 7564
32   모디아에서 프로그램 실행 성공 - but, err...... [1]  류종성 2004/07/01 8097
31   질문만 계속해서... ^^; [3]  d-.-p 2004/07/05 6947
30   Gba 에뮬이 있다면,,? [4]  -_-저게모디? 2004/07/30 7410
29   저기.. CE 2.11용 EVB를 어디서.. [3]   2004/08/10 7469
28   embedded C++ 에서.. [2]  박성윤 2004/08/26 7285
27   일반 컴퓨터 에디터 프로그램을 이곳 모디아에... [3]  한성식 2004/08/31 7118
  사용자 이름을 바꿔주는 프로그램. [12]  광묘 2004/09/02 7350
25   D-Day 카운터 프로그램. [4]  크로워 2004/09/07 8675
24   저... 게임관련 [5]  sinner 2004/09/13 7553
23   Programing Microsoft Windows...  광묘 2004/09/15 7859
22   eMbedded Visual C++ 과 Modia ... [10]  광묘 2004/09/16 9477
21   개발자 코너에 인사드립니다. [4]  김이랑 2004/10/02 8275
20   모디아에서 NetBSD 설치에 대한 고찰 ... [10]  김이랑 2004/10/13 10329
19   첫 모디아 프로그램 시험성공 ... [3]  김이랑 2004/10/18 10810

1 [2]
 

Copyright 1999-2020 Zeroboard / skin by ROBIN Modify by Netzzi.com