2010년 5월 27일 목요일

프로젝트 debug폴더 경로

1. Application.StartupPath

 

2. ./

 

프로젝트의 디버그 폴더경로입니다

2010년 5월 26일 수요일

정규표현식

using System.Text.RegularExpressions

bool IsVaildStr(string strText)
{
     string Pattern = @"^[a-zA-Z0-9가-힣]*$";
     return Regex.IsMatch(strText, Pattern);
}

간단히 설명하자면 strText의 문자열이 대-소문자 알파벳, 숫자, 한글인지를 체크하는 정규식이다
유저 계정 만들때 사용한 정규식인데 아이디에 특수문자를 사용할수 없게끔하는 식이다
특이하게 한글이 들어간 이유는 모 포탈 사이트에서는(한게임인가로 기억됨...아님 말고...^^)
한글 계정도 지원한다기에 그냥 넣어봤다

자세한 내용은 아래 설명 참조!


※ 정규식 설명
^
입력의 시작 위치를 의미한다. 여러 줄 모드에서는 줄바꿈 뒤도 의미한다
/^A/
"An A"에서 시작 위치 바로 뒤의 A는 일치하지만 마지막의 A는 일치하지 않는다.
^[a-z]
 첫 글자는 반드시 소문자 a-z 사이의 문자를 뜻한다

$
입력의 마지막 위치를 의미한다. 여러 줄 모드에서는 줄바꿈 앞도 의미한다.
/a$/
"Cocoa"에서 마지막에 있는 'a'와 일치한다.
[a-z]$
마지막 글자는 반드시 소문자 a-z사이의 문자를 뜻한다

*
* 앞의 문자가 0번 이상 반복됨을 의미한다.

선택 기호: "|" 기호는 여러 식 중에서 하나를 선택한다.
 "abc|adc"는 abc라는 문자열과 adc라는 문자열을 모두 포함한다.
묶기 기호: (와 )로 여러 식을 하나로 묶을 수 있다.
 "abc|adc"와 "a(b|d)c"는 같은 의미를 가진다.

[] : [과 ] 사이의 문자 중 하나를 선택한다. "|"를 여러 개 쓴 것과 같은 의미를 가진다.
[abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 문자의 범위를 지정할 수 있다.
[a-z]는 a부터 z까지 중 하나, [1-9]는 1부터 9까지 중의 하나를 뜻한다.
[^] : [^과 ]  사이의 문자를 제외한 나머지 하나를 선택한다.
[^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다.
[^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 나타낸다.


※ POSIX 문자 그룹(character Classes)

[:lower:]   : 소문자 알파벳 문자
[:upper:]   : 대문자 알파벳 문자
[:digit:]     : 숫자(Numeric digits)
[:alnum:]   : 숫자와문자(alphanumeric 문자)
[:space:]  : 공백문자(carriage return, newline, vetical tab, form feed)
[:punct:]   : 구두점(Punctuation 문자)
[:cntl:]     : control 문자
[:print:]    : Printable 문자

2010년 5월 24일 월요일

키보드 마우스 공유프로그램 Input Director

업무상 여러 대의 PC를 다뤄야 하는 사람들은 반듯이 개발자가 아니라도 주위에 상당히 많습니다.

하나 이상의 데스크톱이나 노트북을 사용해야 할 경우, 일반적인 사용자라면 PC 대수만큼의 입력장치 – 키보드와 마우스 – 가 어지럽게 책상에 놓여져 있어 작업 공간의 상당 부분을 차지하는데요.

오늘 소개할 프로그램은 하나의 키보드와 하나의 마우스만으로 책상 위에 있는 모든 PC를 다룰 수 있도록 도와 주는 프로그램입니다.

 

 

사용자 삽입 이미지

 

 

하나가 여럿보다 낫다

 

하나의 입력 장치로 여러 대의 PC를 다루는 것은 엄청난 작업 효율 상승 효과가 있습니다.

사람마다 다르겠지만 저의 경우에는 책상 위에 3대의 PC를 놓고 작업하고 있습니다.

3대의 PC 는 각기 다른 운영체제(윈도우 2000, XP, 그리고 비스타)로 제가 만드는 프로그램의 운영체제 호환성 테스트 용도로도 사용하고 있는데 구체적으로는 아래와 같은 용도로 활용하고 있습니다.

 

우선 메인 PC에는 항상 사용하는 프로그램들, 개발 툴이나 회사 내 메신저, 워드나 엑셀을 실행합니다.

Second PC 에는 무겁지만 꼭 써야 하는 Outlook 이나, 모니터링을 위한 업무용 프로그램들을 실행합니다.

Third PC(노트북) 에는 Nate On 같은 외부와 연락을 위한 메신저와 웹 브라우저, 기타 업무용 마이너 한 프로그램들을 실행해 놓고 있습니다.

 

이렇게 여러 대의 PC 에 프로그램을 분산시켜 실행하는 것은 당연히 메인 PC 의 성능 부하를 줄여 보다 빠르게 원하는 작업을 할 수 있게 하기 위함입니다.

하지만 이와 같이 업무용 프로그램들을 분산시켜 실행할 경우 PC 간 정보 공유가 문제가 됩니다.

 

메신저로 전달받은 URL 을 다른 PC 의 브라우저 창에서 실행해야 한다면 어떻게 해야 할까요?

메일로 전달받은 내용을 긁어와 역시 다른 PC에 실행 중인 워드에 붙여 넣기를 해야 한다면,

복잡한 네트워크 주소를 전달받아 다른 PC 에서 해당 폴더를 열어야 한다면 또 어떻게 하면 좋을까요?

 

사용자 삽입 이미지

 

하나의 PC 라면 당연히 복사 & 붙여 넣기(Copy & Paste) 신공으로 문제가 될 거리도 안되지만 여러 대의 PC 라면 이 간단한 일이 복잡해 집니다.

물리적으로 키보드와 마우스가 여럿이더라도 위에서 언급한 PC 간 협업은 불가능합니다.

하지만 Input Director Synergy 와 같은 키보드/마우스 공유 프로그램은 복수개의 PC에서 키보드와 마우스의 공유뿐만 아니라 서로 다른 PC의 클립보드를 마치 하나의 PC 인 것처럼 자연스럽게 사용할 수 있도록 해 줍니다. 

여러 대의 PC를 사용하시면서 아직도 이러한 프로그램을 이용하고 계시지 않다면 오늘 소개할 프로그램에 관심을 가지고 봐 주세요.

 

Input Director 의 주요 설정방법

 

키보드와 마우스 공유 프로그램들의 한가지 큰 단점은 설정이 꽤 복잡하다는 점입니다. (그나마 Input Director 의 경우엔 좀 더 직관적으로 되어 있습니다.)

처음 접근할 때 다소 어려움이 따르겠지만 한번만 고생하면 두고 두고 편하기 때문에 잘 참아 내고 끝까지 읽어봐 주세요.

 

우선 프로그램을 설치합니다.

Input Director 는 다음 주소에서 내려 받을 수 있습니다.

http://www.inputdirector.com/

 

공유하고자 하는 모든 PC 에 이 프로그램을 설치합니다.

설치가 끝난 후, 메인(마스터)이 될 PC 를 선택합니다. 일반적으로 책상에서 가운데 위치하고, 하루 중 가장 많은 시간을 같이 보내는 PC 가 메인(마스터)이 되어야 합니다.

메인 PC 에게는 아래와 같이 “Enable as Master “ 를 선택하여 Master 의 권한을 부여합니다. PC를 중심으로 나머지 PC 의 키보드/마우스 제어권을 가져와 사용하겠다는 의미입니다.


사용자 삽입 이미지

 

그런 다음 탭을 바꿔 Master Configuration 을 설정합니다. 

 

사용자 삽입 이미지


그림만 덩그러니 있으니 좀 삭막한데요. [Add] 버튼을 클릭해서 추가하고자 하는 PC 의 이름(Host Name)을 입력하면 됩니다. (PC 의 이름은 내 컴퓨터 등록정보에 있는 “전체컴퓨터 이름” 또는 “컴퓨터 이름” 부분을 적어 주시면 됩니다)

 

사용자 삽입 이미지


추가하고자 하는 PC 대수만큼 위 과정을 반복합니다. 그런 다음 가운데 부분에 메인(Master) 를 기준으로 각 PC 의 물리적인 위치에 따라 메인(마스터)의 왼쪽이나, 오른쪽으로 위치 조정을 해 줍니다.  위치 조정은 마우스를 이용하여 PC 모양 아이콘을 끌어다 놓으면(Drag & Drop) 됩니다.

만일 SUB2 PC가 메인 PC 의 우측에 있다면 설정도 그와 같은 위치에 있도록 해 주어야 합니다.

아래 그림은 SUB1 PC 가 메인 PC 좌측에 위치하고, SUB2 PC 가 메인의 우측에 위치할 경우를 가정한 모습입니다. 사용자의 환경에 맞춰 위치를 조정해 주시면 됩니다.

 

사용자 삽입 이미지

                                                                                

이제 Main 의 마지막 설정인 Global Preference 설정을 해 줍니다.

아래와 같이 PC 가 부팅될 때 실행 여부를 선택하고, 시작 시 Master 로 실행된다고 꼭 체크해야 합니다.

 

사용자 삽입 이미지

 

여기까지가 Master 에 대한 설정이었습니다.

 

이제 Sub가 될 나머지 PC들의 설정으로 가 보겠습니다. Sub(Slave)는 비교적 간단합니다.

Main 탭에서 아래와 같이 “Enable as Slave” 로 설정합니다.


사용자 삽입 이미지
 

Slave Configuration 설정에서는 접근을 허용할 Master 를 선택합니다. Add 를 선택한 다음 Master PC 의 이름을 입력해 주시면 됩니다. (2008/5/7일 내용 보충)

사용자 삽입 이미지


Global Preference 설정에서는 마찬가지로 윈도우 시작 시점에 Input Director를 사용하겠다고 설정하고, 시작 시 Slave 모드로 시작한다고 선택하면 됩니다.

 

사용자 삽입 이미지

 

이상의 과정을 정상적으로 마쳤다면 이제 여러 대의 PC를 하나의 키보드와 마우스로 공유하실 수 있습니다. 뿐만 아니라 PC 간 텍스트 및 그림까지 자유롭게 공유하실 수 있습니다.

 

Input Director VS. Synergy

 

사실 Input Director 를 얼마 전 회사 동료 분으로부터 소개 받기 전에는 Synergy 라는 훌륭한 프로그램을 사용했습니다. 처음 Synergy 를 사용하게 되었을 때 참 많이도 놀랐습니다. 서로 다른 PC간 키보드/마우스 공유는 이전에는 하드웨어적인 장비를 통해서만 가능할 거라고 생각했었거든요. 하지만, 이는 제 상상력의 부족이었습니다. 네트워크를 통해 각 PC 의 마우스와 키보드 정보를 모두 메인으로 전달하게 되면 메인 PC 만으로도 자연스럽게 SUB PC를 조정할 수 있는 건데 말입니다. Synergy 는 이러한 저의 고정관념을 깼을 뿐만 아니라 여러 대의 PC 에서 작업해야 하는 저의 작업 효율성을 상당히 끌어 올려주었습니다. Synergy 마니아인 제가 다른 프로그램을 소개하게 될 줄이야 ^^;

 

혹시 Synergy에 대해서 모르신 다음 아래 좋은 글이 있으니 먼저 읽어 보시길 권해 드립니다. (Input Director 가 마음에 안 드시는 경우에 참고하셔도 될 거 같네요)

 

2 이상의 PC 에서 마우스 키보드는 1개로 제어해보자 Synergy

 

Synergy 보다 Input Director 가 좋은 점은 다음과 같습니다.

 

  • Visual Indication 기능 – 마우스가 PC를 건너 다닐 때 마다 마우스 포인터를 그림과 같이 표시해 줍니다.  마우스를 잃어버리지 않도록 해 줄 뿐만 아니라 애니메이션으로 물결치듯이 멋지게 마우스를 표시해 주어 시각적인 즐거움도 더 해 줍니다. (보고 있으면 어느새 중독됩니다)

 

사용자 삽입 이미지
  • 그림 복사가 가능합니다. Synergy 의 복사 기능은 단순 Text로 국한 되었습니다. 하지만 Input Director 에서는 그림판이나 아웃룩으로 받은 메일의 그림까지 Copy & Paste로 복사가 가능합니다. 이전에는 A PC 에서 화면을 캡쳐한 다음 B PC로 옮기려면 이미지로 저장한 다음 옮겨갔어야 했지만 이제는 Copy & Paste만으로 가능해 졌습니다.

 

  • 워드나 엑셀 문서의 내용 복사도 쉽게 됩니다. – 그림과 마찬가지로 클립보드의 내용을 텍스트에 국한되지 않고 원문 그대로 전달하기 때문에 A PC에서 작성중인 워드나 엑셀 문서를 긁어와 B PC 에 붙여 넣을 수 있게 되었습니다. (시너지에서는 문서의 텍스트 부분만 복사가 되었습니다. 문서의 서식이나 그림은 전달이 되지 않았습니다)

 

  • 한글관련 버그가 없습니다 – Synergy 의 경우 한/영 전환을 위해서는 별도 Patch 를 설치해야 하고, 대문자가 눌려진 경우 한글이 제대로 입력되지 않는 문제가 있었습니다. Input Director 에서는 그러한 문제가 없습니다.

 

  • 한영 전환이 메인 PC의 설정을 따라 작동합니다. – 저는 한/영 전환으로 Shift-Space를 주력으로 사용합니다. 예전 아래아 한글을 사용하면서부터 익숙해 진데다 오른쪽 Alt키에 의한 한/영전환은 이상하게 오타가 많이 나서 늘 이 방식을 선호합니다. 그런데 비스타가 설치된 노트북에서는 OS 설치 시 Shift-Space로 설정할 수 있는 키보드 입력방식 설정이 없어서 여태 우측 ALT 키를 눌러 한/영 키를 전환하고 있습니다. 그런데 Input Director를 사용하면 노트북에서 한/영 전환방식을 메인 PC 의 한/영 전환을 따르게 되어 있습니다. 노트북의 한/영 전환이 비록 우측 Alt 키이더라도 Input Director 를 사용 할 경우에는 평소대로 Shift-Space를 이용할 수 있어 편리합니다.

  • 마우스와 키보드 응급 환수 기능 – Synergy를 사용하다 보면 가끔씩 키보드나 마우스의 제어권을 특정 PC 에 뺏기게 되어 그야말로 먹통 상태가 되는 경우가 있습니다.(주로 메인 PC 에서 디버깅 시 이러한 경우를 자주 접합니다.) 마우스를 어느 PC 가 가지고 있는지 몰라서 마구 마우스를 움직여 보지만 마우스가 보이지도 않고 키도 입력이 안 되곤 합니다. 이럴 땐 계속 기다리던가, PC 를 완전히 껐다 켜야 합니다.(Control+Alt+Del 을 눌러도 반응조차 없어서 하드 리셋해야 하는 경우도 있습니다) Input Director 에는 “Control-break + Left CONTROL + Left ALT” 과 같은 다소 복잡한 키 조합으로 키보드와 마우스의 제어권을 메인 PC로 긴급 소환할 수 있도록 하고 있습니다.. 이제 마우스 잃어 버릴 일 없어진 거예요~

 

 

Input Director 기타 사항

 

여러 운영체제에서 작동하는 Synergy와는 달리 Input Director 는 다음의 운영체제에서만 작동합니다.

 

Windows 2000 (Service Pack 4)

Windows XP (Service Pack 2)

Windows Vista

 

운영체제가 윈도우 계열 특정 OS 에만 국한된다는 점은 Synergy 에 비해 아쉬운 점이기도 하지만, 운영체제를 제한하는 대신 윈도우에 최적화된 기능(윈도우 클립보드에 저장되는 포맷 그대로 전송과 같은)을 제공하는 것으로 보입니다.

비 윈도우 계열을 사용하시는 분이라면 Input Director 는 고려대상이 안되겠지만, 윈도우 계열 사용자라면 Input Director 사용을 적극적으로 권해 드리겠습니다.

 

 

이상으로 Input Director 에 대해 소개 드렸습니다.

정말 멋진 프로그램인데 많은 분들이 잘 사용했으면 하는 바램입니다.

클럽박스 시작시 뜨는 광고 창 없애기

먼저 시작으로 가셔서  실행을 ( 실행하세요 바로가기 키는  ( 자판에 윈도그림 로고 + R ) )

 

거기에 REGEDIT 소문자로 쓰셔도 무방 합니다

 

이제 이 경로로 가세요

 

HKEY_LOCAL_MACHINE\SOFTWARE\(주)나우콤\CLUBBOX\Settings

     

오른쪽에 보시면 "OptCheckTime"( ab 라고 빨간색글씨 아이콘 )

이라는 값이 있는데,,그것을 수정합니다..

 

"OptCheckTime"에 더블클릭 하시면 현제 시간이 나와 있습니다...

 

예 : 2007,8,4,18,37  이런식으로 표시가 되어 있습니다... 이건 현제 시간을 표시 한것인데요

 

여기서 맨앞에 2007  이것을 원하시느 날짜를 고치시면 됩니다

 

ex)2007 ->2010

2010년 5월 23일 일요일

setcursortype(커서on/off)

콘솔창에서는 주로 문자를 입출력하는데 다음 입출력될 위치는 커서가 가리킨다. 사용자는 주기적으로 깜박거리는 커서를 보고 자신이 입력한 문자가 이 위치에 나타난다는 것을 알 수 있으며 또한 다음 출력될 위치도 알게 된다. 통상적인 경우 커서는 꼭 필요하지만 게임같은 경우에는 커서가 오히려 게임 진행에 방해가 되므로 표시하지 않는 것이 더 좋다. 14장의 여러 게임들을 실행해 보면 커서가 보이지 않는데 커서가 있는 상태로 게임을 실행해 보면 이 함수가 왜 필요한지를 알 수 있을 것이다.

setcursortype 함수는 커서의 형태를 변경하는데 괄호안의 인수로 NOCURSOR를 전달하면 커서가 사라지고 NORMALCURSOR라고 주면 커서가 다시 나타난다. 게임을 시작하기 전에 커서를 없애 버리는 것이 좋고 게임이 끝날 때 다시 나타나도록 한다. 물론 커서는 잠시 숨겨지는 것이지 커서 자체가 없어지는 것은 아니다. 커서는 보통 문자 아래쪽의 얇은 두 줄로 표시되는데 SOLIDCURSOR로 지정하면 문자 높이만큼의 크기를 가진다.

#include <stdio.h>
#include <conio.h> //getch()
#include <windows.h> //SetConsoleCursorInfo(), GetStdHandle(), CONSOLE_CURSOR_INFO

#define TRUE 1
#define FALSE 0
typedef enum {NOCURSOR, SOLIDCURSOR, NORMALCURSOR}CURSOR_TYPE;

void setcursortype(CURSOR_TYPE);

void main()
{
 setcursortype(NORMALCURSOR);
 printf("Normal cursor type.\n");
 getch();
 setcursortype(SOLIDCURSOR);
 printf("Big cursor type\n");
 getch();
 setcursortype(NOCURSOR);
 printf("No cursor type\n");
 getch();
 setcursortype(NORMALCURSOR);
}

void setcursortype(CURSOR_TYPE c)
{
 CONSOLE_CURSOR_INFO Curinfo; // console sursor 구조체
 switch(c)
 {
 case NOCURSOR:
  Curinfo.dwSize = 1; //cursor size
  Curinfo.bVisible = FALSE; // cursor 안보임
  break;
 case SOLIDCURSOR:
  Curinfo.dwSize = 100;
  Curinfo.bVisible = TRUE;
  break;
 case NORMALCURSOR:
  Curinfo.dwSize = 20;
  Curinfo.bVisible = TRUE;
  break;
 }
 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &Curinfo);
}
/* GetStdHandle(STD_OUTPUT_HANDLE) : 현제 console의 handle을 구하는 함수
SetConsoleCursorInfor(consoleHandle, consoleCursorInformationStruct)
*/

kbhit()

키보드의 키가 눌러져 있는지 아닌지만을 조사한다. 눌러졌으면 참의 값을 리턴하고 그렇지 않을 경우에는 거짓의 값을 리턴한다. getch는 키가 눌러질 때까지 대기하므로 프로그램 실행을 블록시키는 특성이 있어 키 입력과 무관하게 연속적으로 실행되어야 하는 게임에서는 부적당하다. 다음이 이 함수의 가장 전형적인 사용예이다.

 

if (kbhit()) ch=getch();

 

보통 if 조건문과 함께 사용되며 키가 눌러져 있을 때만 getch 함수를 호출하여 눌러진 키를 조사한다.

gotoxy()

콘솔 화면은 일반적으로 가로로 80개의 문자를 표시할 수 있고 세로로 25줄을 출력할 수 있다. 윈도우즈의 콘솔은 설정하기에 따라 더 넓은 폭을 가질 수도 있고 스크롤도 가능하지만 여기서는 도스나 유닉스의 콘솔과 비슷하다고 생각하기로 하자. 콘솔은 80*25의 바둑판같은 좌표 공간이라고 할 수 있는데 각 위치는 x축과 y축의 좌표값을 가진다. 그림으로 그려 보면 다음과 같을 것이다.

 좌상단의 원점 좌표가

(0,0)이 되며 우하단은 (79,24)가 되고 중앙의 좌표는 (40,12) 정도가 될 것이다. 콘솔 화면으로의 모든 출력은 항상 커서가 있는 현재 위치를 참조하도록 되어 있으며 printf로 문자열을 출력하면 현재 위치에 문자열이 출력된다. 모든 출력문들은 현재 커서 위치에 문자열을 출력하며 출력한 후 커서를 다음 위치로 옮겨 주는데 커서는 왼쪽에서 오른쪽으로, 위에서 아래로 마치 타자기에 글씨를 써

 

 내려가는 것처럼 움직인다. 그래서 printf를 계속 호출하면 연속적으로 문자열이 출력된다.

 

gotoxy 함수는 커서의 위치, 그러니까 다음 문자열이 출력될 좌표값을 바꾼다. 인수로 옮기고자 하는 x, y 좌표를 지정하면 커서가 이동하며 이어지는 출력은 이 위치로 나가게 된다. 현재 위치가 아닌 특정 위치에 출력하고 싶다면 출력 명령을 사용하기 전에 gotoxy로 원하는 좌표값을 지정한다. 다음 예제는 화면을 깨끗하게 지운 후 중앙에 문자열을 출력한다.

 

#include <stdio.h>
//nclude <conio.h>
#include <windows.h>
void gotoxy(int x, int y)             /* 커서이동 함수 부분 */
{
    COORD XY = {x-1, y-1};
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), XY);
}

int main(void)
{
 
 gotoxy(37,12);
 
 printf("center\n");
 
 return 0;
}
깨끗한 화면 중앙에 "center"라는 문자열이 출력될 것이다. 수평 중앙 좌표는 40이지만 center가 6자의 길이를 가지므로 t자가 40좌표에 올 수 있도록 3만큼 더 뺀 위치에 출력했다. 커서를 옮기는 것은 그 자리에 어떤 출력을 하기 위해서이므로 gotoxy 다음에는 거의 항상 printf나 puts같은 출력 명령이 뒤따른다.

clrscr()

Clear Screen의 약자이며 이름 그대로 화면을 깔끔하게 지우고 커서를 화면 좌상단으로 옮긴다. 화면에 이미 출력된 내용을 지우고 새로운 내용을 출력하고자 할 때 이 명령을 사용한다. 특별한 형식은 없고 일종의 함수이므로 뒤에 빈 괄호와 세미콜론만 붙이면 된다. 즉 언제든지 clrscr(); 만 호출하면 화면이 깨끗하게 지워진다.

#include <stdio.h>
#include <conio.h>
#include <windows.h>
void gotoxy(int x, int y)             /* 커서이동 함수 부분 */
{
    COORD XY = {x, y};
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), XY);
}

int main(void)
{
 
  printf("1\n");
  system("cls"); // clrscr()로 대체 conio.h 파일 포함!
  gotoxy(37,12);
 
  printf("center\n");
 
 return 0;
}

퀵소트 qsort(내, 오름차순)

@내림차순

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char compare(const void *a, const void *b)
{
 return (*(char *)b - *(char *)a) ;//*(char*)강제 캐스팅 해주어야 함
}
 
void main()
{
 char str[]={1,2,3,4,5,6,7,8,9,10};
 int i;
 qsort(str,sizeof(str),sizeof(char),compare);//시작주소, 문자열길이 , 자료형크기, 비교함수
 for(i = 0; i < sizeof(str);i++)
 printf("%d ",str[i]);
}

 

@오름차순

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char compare(const void *a, const void *b)
{
 return (*(char *)b - *(char *)a) ;//*(char*)강제 캐스팅 해주어야 함
}
 
void main()
{
 char str[]={1,2,3,4,5,6,7,8,9,10};
 int i;
 qsort(str,sizeof(str),sizeof(char),compare);//시작주소, 문자열길이 , 자료형크기, 비교함수
 for(i = 0; i < sizeof(str);i++)
 printf("%d ",str[i]);
}

2010년 5월 21일 금요일

Internet Exploer에서 "런타임 오류가 발생했습니다" 등 오류 문구가 출력 될때

1. "런타임 오류가 발생했습니다." 또는 "(이 웹 페이지를) 디버그 하시겠습니까?"

     오류 메시지 창이 나타나는 경우

   1) 제어판 - 인터넷 옵션- 고급 탭에서

      - 모든 스크립트 오류에 관련된 알림 표시 : 체크 해제

        스크립트 디버깅 사용 안 함(기타) : 체크

        스크립트 디버깅 사용 안 함(Internet Explorer) : 체크

      하고 확인을 누른 후 다시 IE를 실행합니다.
         
   2) 또는 웹 사이트 자체 문제일 가능성도 있으므로 다른 컴퓨터나 다른 윈도우 계정으로 로그온하여

       동일한 증상이 재현되는지 확인합니다.

   ※ 참고 내용 : http://support.microsoft.com/kb/822521/ko

 


2.  "Microsoft Visual C++ 런타임 라이브러리

     런타임 오류!

     프로그램 : C:\Program Files\Internet Explorer\iexplorer.exe"

     (단순한 런타임 오류 창 또는 IE 창의 비정상적인 종료)

   1) IE 7/8 사용자 : 제어판 - 인터넷옵션 - 고급 탭 - 기본 설정 복구 "원래대로" 클릭합니다.

                           그리고 추가 기능, 브라우저 확장 기능 프로그램(BHO)을 우선적으로

                           삭제한 후 정상적으로 실행되는지 확인합니다.
   ※ 참고 내용 : http://support.microsoft.com/kb/822521/ko

   ※ IE 6 사용자 : 보안 상으로 상당히 취약하기 때문에 먼저 IE 7 또는 8으로 업그레이드를 합니다.

      - IE 7 다운로드 :  http://www.microsoft.com/korea/windows/internet-explorer/ie7.aspx

      - IE 8 다운로드 :  http://www.microsoft.com/korea/windows/internet-explorer/default.aspx

 

 

3. 여러 웹사이트에서 스크립트 오류가 발생하는 경우

   1-1)과 동일하게 스크립트 디버깅 설정을 하며 추가적인 내용은 아래 사이트를 참고합니다.

   ※ 참고 내용 : http://support.microsoft.com/kb/308260/ko

 

 

4. 인터넷 창이 갑자기 꺼지는 경우 추가로 확인할 사항

   1) XP : 시작 - 실행 - regedit (엔터)

       Vista, 7 : 윈도우 버튼 - 검색창 - regedit (엔터)

   2) 레지스트리 편집기 창을 실행하여

       HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > Current Version >

       Explorer > Browser Helper Objects를 찾아갑니다.

   3) 하위 항목에 있는 키값들에 인터넷 익스플로러에 연동되어 설치되는

       BHO, 툴바의 정보(CLSID)가 저장이 됩니다.

   4) 해당 BHO, 툴바 등이 비정상적으로 설치 또는 삭제된 경우

       인터넷 익스플로러가 관련 정보를 로드하면서 오류가 발생할 수 있습니다.

       따라서 키값들을 확인하여 내용이 비어 있는 경우

       마우스 우측버튼 - 삭제(D)를 선택합니다.

      ex) {19217B99-F935-4A39-B857-A68A68D5BEBB} : 사이트가드

 

※ 추가 참고 사이트(MS)

  - 인터넷 익스플로러 솔루션 센터 : http://support.microsoft.com/ph/807#tab1

 

 

※ 참고 용어

▷ BHO

  BHO(Browser Helper Object) 또는 브라우저 도우미 개체는 윈도우 탐색기와 IE 기능을 확장하는데 사용하는 기능입니다.

▷ CLSID

  Class Identifier의 줄임말로 ActiveX, BHO, 프로그램의 경우 각각의 고유 값(CLSID)를 갖고 있다. 따라서 CLSID 값만으로

관련 프로그램/파일을 찾을 수 있다.

포토샵 영문판을 한글판으로 한글판을 영문판으로 바꾸기

영문판을 한글판으로 바꾸는 방법입니다.



우선 위 파일을 눌러서 다운 받으세요(바이러스 같은거 아니니까 걱정말고 받으셔도 됩니다^^)
다운 받으셨다면 포토샵이 설치된 파일을 엽니다.
참고로 저의 파일 경로는 c: -> Program Files -> Adobe ->Adobe Photoshop CS2 입니다.
자~Adobe Photoshop CS2폴더를 열어보시면 안에Required폴더가 있습니다.
그럼 그 폴더안에 아까다운받으신 tw10428.dat파일을 붙여 넣으시면 됩니다.

위그림처럼 되었나요?
다음은 없습니다 바로 포토샵을 실행시켜 보세요
그럼 멋있는 한글판 포토샵이 실행 되고 있을겁니다.

몇가지 포토샵에 확인해본 결과 포토샵 버전의 영향은 안받는것 같습니다. 어떤버전이든 사용가능합니다. 그리고 약간이지만 한글판일때 영문판보다 포토샵 실행속도가 느렸습니다. 참고하세요

그럼 이번에는 한글판을 영문판으로 바꿔볼까요.
영문판을 한글판으로 바꾸는 원리는 같습니다. Required폴더에 들어가셔서 tw10428.dat파일을 삭제하시면 됩니다.

2010년 5월 19일 수요일

면옷관리, 옷관리법 면티셔츠 목 안늘어나게 오래입는 방법

면티셔츠 목늘어짐 예방하는방법 1. 손빨래


면티셔츠 목늘어짐에 가장 좋은 방법은 손빨래를 하는거랍니다.



면티셔츠 목늘어짐 예방하는방법 2. 목 부분 잡지 않기


많은 사람들이 무의식중이나, 헤어스타일 때문에 옷을 입거나 벗을때 목부분을 잡고 늘려서 입는 경우가 많은데요, 목은 이때 가장 많이 늘어난답니다. 면티셔츠를 벗을때는 옷 아랫부분을 잡고 뒤집어 벗는다는 느낌으로 벗으시고, 머리손질은 옷을 다 입고 하도록 습관을 바꿔 보시면 면티셔츠 더욱 오래 입으실 수 있을꺼에요.



면티셔츠 목늘어짐 예방하는방법 3. 세탁망 사용하기


면티셔츠 사실 값이 싼편에 속하기에 편하게 입고 세탁할때도 그냥 막 던져넣고 세탁을 하는경우가 많은데요. 세탁시에도 빨래가 엉퀴어 목이 많이 늘어날뿐 아니라 옷감이 가장 많이 상하는게 세탁시라고 하네요. 이것을 예방하는 방법이 바로 세탁시에는 세탁망을 사용하는 것인데, 세탁망은 다른 옷들과 엉키지 않게 해주어 늘어짐을 방지해줄뿐 아니라 의류의 구김방지, 단추나 기타 장식도 보호 할 수 있답니다. 세탁망은 동네에 있는 1000냥 마트에 가시면 저렴하게 구입하실수 있답니다.





면티셔츠 목늘어짐 예방하는방법 4. 뉘여서 널기


면티셔츠 세탁후 옷걸이에 걸어서 너시는분 많으시죠? 이렇게 하면 물기때문에 옷의 무게가 무겁기에 목이 늘어날뿐 아니라 빨래가 마르면서 어깨선도 툭 튀어나오는 경우도 많답니다. 앞으로는 빨랫줄에 바로 너시거나 옷걸이 안에다 반접히게 널어보세요.



면티셔츠 목늘어짐 예방하는방법 5. 탈수시간 조절


면티셔츠 옷늘어짐은 탈수시 많이 늘어난답니다. 탈수시간을 줄여주시면 목늘어짐 조금이나마 막을수 있답니다.



면티셔츠 목늘어짐 예방하는방법 6. 외출후 옷걸이에 걸지 말기


많은 분들이 외출 후 집에 돌아오면 옷걸이 기둥에 목부분을 거는 경우가 많은데요, 이것 또한 옷이 늘어나거나 형태가 변형되는 원인중 하나랍니다. 외출 후 땀으로 오염이 되었다면 바로 세탁을 하시는게 좋고, 오염되지 않았다면 귀찮으시더라도 다시 옷을 개서 보관하는게 좋답니다.

2010년 5월 16일 일요일

여러대 컴퓨터 키보드 마우스 공유

한 책상에 여러대의 PC를 꼭 써야만 하는 상황




A 씨는 한책상에 3대의 컴퓨터를 놓고 사용합니다. 노트북, 컴퓨터 2대를 사용하는 A 씨는 컴퓨터를 사용할때마다 마우스와 키보드를 각각 따로 사용해야하는것에 불편을 느낍니다. 작업을 돌리는 목적이 나누어져 있기에 한대의 PC 로 사용도 불가할 때 이럴때 어떻게 해야 할까요? 


시너지 프로그램 (Synergy) 로 여러대의 PC 를 제어해보자




시너지 프로그램(Synergy) 을 사용하면 여러대의 컴퓨터를 1개의 키보드 마우스로 모두 제어가 가능합니다. 책상도 넓게 사용할 수 있고, 무엇보다도 각각 컴퓨터마다 키보드 마우스를 사용해야하는 번거로움이 사라지게 되죠.


시너지 프로그램 (Synergy) 다운로드


원작자 주소 : http://synergy2.sourceforge.net/index.html


시너지 프로그램 (Synergy) 설치 후, 시너지 프로그램을 닫은채로  한글패치를 해 줍니다. 한글패치는 클라이언트 컴퓨터 측에서 한글이 안써지는 문제를 해결해 줍니다.

한글패치.exe 를 실행한 뒤 파일 덮어 쓰겠냐는 물음에는 "Yes to All" 를 선택하세요. (자동 압축 풀림 SFX)

한글 입력시 문제되는 예제 2가지

증상 : 한/영 키로 한글이 변경이 안될때
해결 : Shift + Space bar  키를 눌러서 한영전환을 사용하면 불편사항없이 사용가능하십니다

증상 : "ㄱ ㅏ ㄴ ㅏ ㄱ ㅏ ㅁ"  이런식으로 글자가 떨어져서 한글이 입력될때
해결 : Caps Lock 키를 누른상태에서 한영전환 사용시 글자가 떨어져서 나타날 수 있으며 ,
         Caps Lock 를 끈상태로 한글을 입력하면 해결 가능합니다


Shift + Spacebar 로 한영전환이 되지 않을 때

제어판 > 키보드 > 하드웨어 > 등록정보 > 드라이버 > 드라이버 업데이트 > 다음 >
드라이버 직접 지정 > 모든 하드웨어 표시 > PC/AT 101키 호환 키보드/USB 키보드(종류3)

선택후 재부팅하시면 됩니다.




시너지 프로그램 (Synergy) 설치 방법


시너지 프로그램은 제어하려는 모든 PC 에 설치를 해줘야 합니다. 2대 또는 3대의 PC 를 제어하려고 한다면 각각 모두 설치를 해줍니다. 여기에 한가지 규칙이 있으니 키보드 마우스를 사용하는 1대의 컴퓨터는 시너지 서버측 컴퓨터가 되며, 키보드와 마우스를 쓰지 않을 컴퓨터들은 시너지 클라이언트 컴퓨터가 됩니다.

시너지 셋팅전 이것은 알아둡시다!

시너지 서버측 컴퓨터 (1대) : 키보드와 마우스를 꽂아놓고 사용할 컴퓨터
시너지 클라이언트 컴퓨터 (여러대) : 키보드와 마우스를 사용하지 않을 제어할 대상의 컴퓨터들

시너지 프로그램 (Synergy) 설치는 어렵진 않습니다. 시너지 프로그램을 다운로드 후, 설치를 하여줍니다.


서버측 시너지 셋팅 방법 (키보드,마우스 사용할 컴퓨터)


셋팅방법은 아이피를 넣는 방식으로 하겠습니다. 지금 쓰는 컴퓨터 및 서버측, 클라이언트측이 될 컴퓨터들의 아이피를 알아내는 방법은 명령프롬프트 창에서 ipconfig 를 입력하여 간단하게 알아낼 수 있습니다.

해당 컴퓨터의 아이피를 알아내는 방법 자세히 보기

펼쳐두기..

여기에서는 서버측 시너지 컴퓨터 아이피를 192.168.0.25 , 클라이언트측 시너지 컴퓨터 아이피를 192.168.0.30 이라고 가정을 하고 2대의 컴퓨터를 시너지로 묶는걸 예제로 보여드리겠습니다.




1. 바탕화면에 Synergy 아이콘을 실행합니다.



2. Share This computer's keyboard and mouse (server) 를 선택 후, [Configure...] 버튼을 누릅니다.


3. Screens: 의 [+] 버튼을 누릅니다.



4. Add Screen 창에서, 서버 , 클라이언트의 아이피와 별칭을 입력 후, OK 를 누릅니다.

컴퓨터가 여러대라면 컴퓨터 갯수만큼 이 작업을 반복합니다.

Screen Name : IP 또는 컴퓨터의 이름

Aliases : 별칭(별명)



5. 제어할 컴퓨터 모두 추가된걸 확인합니다. (왼쪽 상단의 Screens: 에 모두 입력했는지 확인합니다.)



6. 첫번째 클라이언트의 컴퓨터 위치를 지정합니다.

위치에서 클라이언트의 컴퓨터 위치를 Left(왼쪽) 또는 Right(오른쪽) 으로 지정한 뒤, 비교할 컴퓨터에는 서버측 컴퓨터의 아이피를 선택 후, 대상 컴퓨터에는 클라이언트의 컴퓨터를 지정합니다. [+] 추가 버튼을 누릅니다.

위에 그림의 뜻은 192.168.0.25 (서버측 데스크탑 컴퓨터) 의 왼쪽에 192.168.0.30 (노트북 클라이언트 컴퓨터) 를 놓겠다는 뜻입니다.

이번에는 서버측 컴퓨터의 위치를 지정합니다. Links: 의 [New Link] 를 선택 후,

위치에서 대상컴퓨터(192.168.0.25 서버측 데스크탑 컴퓨터) 의 위치를 지정 후, 비교할 대상에는 클라이언트 컴퓨터를 지정 후, 대상컴퓨터에 서버측 컴퓨터의 아이피를 선택합니다.

위 그림의 뜻은 192.168.0.25 는 192.168.0.30 의 오른쪽에 있다는 뜻입니다.



위에 설정을 정리해보면 위의 그림과 같습니다. 왼쪽에는 192.168.0.30 의 클라이언트 컴퓨터를 두며, 오른쪽에는 192.168.0.25 의 서버측 컴퓨터를 둡니다. (서버측 컴퓨터는 키보드 마우스를 쓸 컴퓨터를 뜻합니다.)



7. Options 의 [Advanced...] 버튼을 누른 뒤, Screen Name 에 시너지 서버측 아이피를 입력해 줍니다.


8. 시너지 프로그램은 기본적으로 TCP 24800 의 포트를 사용합니다. 서버측에 시너지를 셋팅 하였더라도, 방화벽이 이 포트를 막고 있다면 시너지 클라아인트측의 컴퓨터가 들어오질 못합니다. 시너지 서버측의 시너지 포트를 개방하는 방법에 대해서 설명합니다.

아래는 Windows XP 기준 설명이며 Vista 및 윈도우7 은 방화벽 설정에서 해당 포트를 개방해 주면 됩니다.

바탕화면 > 내 내트워크 환경 > 마우스 오른쪽 버튼 > 속성 > 로컬영역 > 마우스 오른쪽 버튼 속성 >


고급탭 > 설정버튼


예외탭 > 포트 추가




이름을 적당히 정한뒤 포트번호 24800 를 입력 (만약 서버측 시너지에서 따로 포트를 다르게 설정했다면 그것에 따름)





9. 설정이 다 마무리 되었으므로, Start 버튼을 누릅니다.




10. 시너지가 정상적으로 실행이 되었으며 트레이아이콘을 통해서 이것을 끝낼 수 있다는 안내멘트가 나옵니다. 확인을 누릅니다.



11. 서버측 시너지가 정상적으로 동작하면 트레이아이콘에 번개모양이 옆으로 누은상태로 나타나게 됩니다. 시너지 프로그램을 끝내고 싶다면 해당 트레이의 속성에서 Quit 를 선택해 주면 됩니다.


클라이언트측 시너지 셋팅 방법 (키보드,마우스 사용하지 않을 컴퓨터)



위 그림과 같은 모식도 키보드와 마우스를 사용한 컴퓨터는 시너지 서버측 컴퓨터로 1대이고, 클라이언트 컴퓨터는 1대 이상이 될 수 있습니다. 어떤분은 8대의 컴퓨터를 시너지로 묶어서 쓴다고도 들은듯하네요.

클라이언트측 시너지 설정방법은 간단합니다.


1. 바탕화면의 시너지 아이콘을 실행 후, Use another computer's shared keyboard and mouse (client) 를 선택 후
Other Computer's Host Name 에 시너지 서버측 아이피를 입력합니다.



2. Options 에 [Advanced...] 버튼을 누른뒤, 현재 클라이언트의 아이피를 입력해서 넣습니다.
클라이언트 컴퓨터가 여러대라면 해당 클라이언트 PC 에서 위의 시너지 클라이언트 설정쪽 방법을 반복하여 셋팅합니다.


참고로 Screen Name 이 문자열로 컴퓨터 이름을 넣었다면 서버측 클라이언트측 지정해 주는 부분도 문자열의 컴퓨터 이름을 넣어야하며, 지금 제가 설명하듯 아이피로 넣었다면 이부분도 아이피로 넣어야 합니다.



3. 클라이언트들 컴퓨터의 셋팅이 마무리되면 Start 를 눌러줍니다. 역시나 트레이영역에 아이콘이 생성되며, 해당 아이콘을 통해서 시너지 프로그램을 닫을 수 있습니다.

서버측 시너지가 먼져 켜진상태에서 클라이언트 시너지를 동작시키면 서로 연결이되며 마우스를 옮겨보면 서로 다른 컴퓨터임에도 불구하고 마우스와 키보드 입력이 되는것을 볼 수 있습니다.


시너지 프로그램 셋팅중 발생할 수 있는 에러 대처


Q:  Synergy was successfully started.  Use the task manager or tray icon to terminate it.
서버 셋팅을 마친뒤 Start 를 누르면 위와 같이 뜹니다.
A : 서버측 시너지를 셋팅할때 아이피를 입력해 넣었지만 Advanced Options 의 Screen Name 에 문자열로 컴퓨터 이름이 들어가 있을 수 있습니다. Options 의 [Advanced...] 버튼을 누른뒤 Screen Name 에 아이피를 입력해 넣으세요. (본문에 설명되어있음)


Q: 셋팅이 모두 완료되었습니다. 트레이영역에 시너지 트레이의 로그를 보아도 정상적으로 접속이 되었는데 마우스를 옮겨보면 화면을 넘어가지 않습니다.

A: 셋팅이 모두 완료되었는데 다른 화면으로 마우스 포인터가 넘어가지 않는다면, 서버측,클라이언트들 컴퓨터의 위치조절을 하는 서버측의 셋팅이 잘 되었나 확인 후, 지금 만지는 키보드 , 마우스가 서버측 셋팅을 한 컴퓨터의 것인지 확인합니다. 키보드, 마우스를 제어하는 쪽이 서버측이 되어야합니다.


Q: 서버측 컴퓨터에서는 한글이 잘 써지지만, 클라이언트측 컴퓨터에서는 한글이 잘 안써집니다. 어떻게 해야하나요.

A: 조금 아쉽지만 이 프로그램이 한글지원은 좀 미미한 편입니다. 클라이언트측에서 한글 변경은 트레이항목의 KO/A 를 이용해서도 변경가능하며, Shift + Space 를 눌러서 변경가능합니다. 아쉽지만 한/영 키를 눌러서는 한영이 전환되지 않습니다. 만일 한글을 쓸때 "ㄱ ㅏ ㄴ ㅏ ㄱ ㅏ ㄱ" 이런식으로 스페이스바가 계속 입력되는식으로 처리된다면 본문중 한글패치부분을 참조해주세요.

Q: 셋팅을 모두 잘 한듯합니다. 서버측에 시너지도 정사적으로 돌아갑니다. 하지만, 클라이언트측 컴퓨터의 시너지에 서버측 아이피를 입력 후 Start 시키면, 접속을 못찾았다고 나옵니다. 어떻게 해야하나요 ?

A: 클라이언트측 시너지에서 서버측에서 열어둔 포트로 못들어갔을 가능성이 있습니다. 해당 포트가 개방되어있는지 확인해주세요. 확인방법은 명령프롬프트창에서 "telnet 서버측아이피 24800" 를 입력하여 화면이 바뀌면 접속 되었다고 확인해볼 수 있습니다. 연결이 되지 않는다면, 방화벽문제이니 방화벽 셋팅에서 해당 포트를 개방하기 바랍니다.

Q: 아이피로 셋팅하지 않고 컴퓨터 이름으로 셋팅을 해도 괜찮은가요?

A: 네 물론됩니다. 컴퓨터이름으로 셋팅을 해도 되며, 이때는 Screen 이름도 컴퓨터이름으로 서로 통일 시켜주면 됩니다.

오른쪽마우스 버튼 연결프로그램 추가

1. 파일 선택

 

2. 마우스 오른쪽 클릭

 

3. 연결 프로그램(H)선택

 

4. 프로그램선택(C) 선택

 

5. 이 종류의 파일을 열대 항상 선택된 프로그램 사용 체크

 

6. 찾아보기 클릭

 

7. 해당 연결 프로그램 exe 파일클릭 -> Complete!

 

2010년 5월 10일 월요일

allowDefinition='MachineToApplication'으로 등록된 섹션을 응용 프로그램 수준 외부 사용 오류

allowDefinition='MachineToApplication'으로 등록된 섹션을 응용 프로그램 수준 외부에서 사용하면 오류가 발생합니다. 이 오류는 IIS에서 가상 디렉터리를 응용 프로그램으로 구성하지 않은 경우에 발생할 수 있습니다.

상황에 따라 다르겠지만 저같은 경우는 솔루션 다시빌드했을때 이런현상이 나타났고요.
솔루션안에 2개의 웹사이트프로젝트가 있어서 web.config가 충돌할때 이런현상이 난다고 하더군요

그래서 전체빌드를 안하거나. 귀찮아서 전체빌더를 하고싶을때는

Server 프로젝트 안에 있는 Web.config 파일이름 변경(ex Web1.config)

 

web.config파일이 2개이상있으면 한꺼번에 빌드금지

2010년 5월 9일 일요일

Silverlight Session 기능

IsolatedStorageSettings 클래스

 

격리된 저장소에 키-값 쌍을 저장하는 Dictionary<TKey, TValue>를 제공합니다.

 

설명 :

IsolatedStorageSettings를 이용하면 로컬 IsolatedStorageFile에 사용자별 데이터를 키-값 쌍으로 간편하게 저장할 수 있습니다. 이는 일반적으로 각 페이지에 표시할 이미지 수, 페이지 레이아웃 옵션 등의 설정을 저장하는 데 사용됩니다.

사용자 설정은 특정 응용 프로그램과 관련될 수도 있고 동일한 도메인의 여러 응용 프로그램에서 공유될 수도 있습니다. ApplicationSettings는 응용 프로그램별, 컴퓨터별 및 사용자 설정별로 저장되며, 그 범위는 응용 프로그램 .xap 파일의 전체 경로를 통해 확인됩니다. SiteSettings는 도메인별, 컴퓨터별 및 사용자 설정별로 저장되며, 그 범위는 응용 프로그램 .xap 파일을 호스팅하는 하위 도메인을 통해 확인됩니다. 예를 들어 http://www.contoso.com/site1/application.xap의 응용 프로그램은 http://www.contoso.com/site2/application.xap의 응용 프로그램과 다른 ApplicationSettings를 갖지만 두 응용 프로그램은 모두 동일한 하위 도메인에서 호스팅되므로 동일한 SiteSettings를 공유합니다.

 

예제:

 

using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.IO.IsolatedStorage;

namespace IsolatedStorageSample
{
    public partial class Page : UserControl
    {
        private IsolatedStorageSettings userSettings = IsolatedStorageSettings.ApplicationSettings;

        public Page()
        {
            InitializeComponent();

            // Retrieve and set user name.
            try
            {
                string name = (string)userSettings["name"];
                tbGreeting.Text = "Hello, " + name;
            }
            catch (System.Collections.Generic.KeyNotFoundException)
            {
                // No preference is saved.
                tbGreeting.Text = "Hello, World";
            }
        }

        private void btnAddName_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                userSettings.Add("name", tbName.Text);
                tbResults.Text = "Name saved. Refresh page to see changes.";
            }
            catch (ArgumentException ex)
            {
                tbResults.Text = ex.Message;
            }
        }

        private void btnChangeName_Click(object sender, RoutedEventArgs e)
        {
            userSettings["name"] = tbName.Text;
            tbResults.Text = "Name changed. Refresh page to see changes.";
        }

        private void btnRemoveName_Click(object sender, RoutedEventArgs e)
        {
            if (userSettings.Remove("name") == true)
            {
                tbResults.Text = "Name removed. Refresh page to see changes.";
            }
            else
            {
                tbResults.Text = "Name could not be removed. Key does not exist.";
            }

        }

        private void btnClear_Click(object sender, RoutedEventArgs e)
        {
            userSettings.Clear();
            tbResults.Text = "Settings cleared. Refresh page to see changes.";
        }

        private void btnCount_Click(object sender, RoutedEventArgs e)
        {
            tbResults.Text = "Count: " + userSettings.Count();
        }

        private void btnKeys_Click(object sender, RoutedEventArgs e)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder("Keys: ");

            foreach (string k in userSettings.Keys)
            {
                sb.Append(k + "; ");
            }
            tbResults.Text = sb.ToString();
        }

        private void btnValues_Click(object sender, RoutedEventArgs e)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder("Values: ");

            foreach (Object v in userSettings.Values)
            {
                sb.Append(v.ToString() + "; ");
            }
            tbResults.Text = sb.ToString();
        }
    }
}

Windows Server 2008 Tip

 
사용자 삽입 이미지
-------------------------------------------------------------------------------------------------------------------------------------------------------
 1. 대화형 로그온 : [Ctrl+Alt+Del] 사용 없이 로그온(2003Server 와 동일)

  가. 시작-실행(윈도우키+R) : gpedit.msc

  나. 로컬 컴퓨터 정책→컴퓨터 구성→Windows 설정→보안 설정→로컬 정책→보안 옵션

  다. 대화형 로그온 : [Ctrl+Alt+Del]을 사용할 필요 없음 → 사용


2. 시스템 종료 이벤트 추적기 표시 안 함(2003Server와 동일)

  가. 시작-실행(윈도우키+R) : gpedit.msc

  나. 로컬 컴퓨터 정책→컴퓨터 구성→관리 템플릿→시스템

  다. 시스템 종료 이벤트 추적기 표시 → 사용 안 함

 

3. 바탕화면에 Internet Explorer 아이콘 생성

  가. 시작-실행(윈도우키+R) : regedit

  나. HKEY_CURRENT_USER → Software → Microsoft → Windows → CurrentVersion

                                          → Explorer → HideDesktopIcons → NewStartPanel

  다. 새로운 키 값 입력 : "{871C5380-42A0-1069-A2EA-08002B30309D}"=dword:00000000


4. Internet Explorer 보안 설정

  가. 시작-실행(윈도우키+R) : CompMgmtLauncher → 서버 관리자 실행

  나. 서버 요약 → 보안 정보 →IE ESC 구성(보안 강화 구성)

  다. 관리자, 사용자 → 사용 안 함

 

5. 고급 시스템 설정

  가. 시작-실행(윈도우키+R) : SystemPropertiesAdvanced → 고급 시스템 설정 실행

  나. 컴퓨터 이름 : 컴퓨터의 작업 그룹과 네트워크에서 사용할 컴퓨터 이름 변경

  다. 고급 → 성능

    1) 시각 효과 : 최적 설정(모두 끔)에서 필요한 몇 가지만 설정

        가) 메뉴 아래 그림자 표시, 슬라이드 작업 표시줄 단추, 창 및 단추에 시각 스타일 사용,
          
          화면 글꼴의 가장자리 다듬기 등

    2) 고급 : 프로세스 사용 계획 → 다음의 최적 성능을 위해 조정 : 프로그램


    3) 시작 및 복구 : 자동으로 다시 시작 체크 해제, 작은 메모리 덤프
    4) 환경 변수 : 환경 변수가 설정되어 있지 않을 경우 설정

        가) 기본 Path : %SystemRoot%\system32;%SystemRoot%;


6. 사운드 활성화

  가. 시작-실행(윈도우키+R) : services.msc

  나. Windows Audio 더블클릭 → 시작유형 → 자동

  다. 제어판 → 소리 → 필요한 옵션 설정
 

7. 테마/Aero 활성화

  가. 시작-실행(윈도우키+R) : services.msc

  나. Themes 더블클릭 → 시작유형 → 자동 (재부팅)

  다. 시작-실행(윈도우키+R) : CompMgmtLauncher → 서버 관리자 실행

  라. 기능 요약 → 기능 추가

                      → 'Quality Windows Audio Video Experience', '데스크톱 경험' 체크 설정후 재부팅

  마. 바탕화면 → 마우스 우클릭 → 개인 설정 → 테마

  바. Windows Vista 또는 찾아보기(C:\Windows\Resources\Themes\Aero.theme)


8. 동시 다운로드 수 설정(다운로드 100개)

  가. 시작-실행(윈도우키+R) : regedit

  나. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

  다. 마우스 우클릭 → 새로 만들기(N) → DWORD(32비트) 값(D) : 아래 두 값 추가

    1) MaxConnectionPer1_0Server → 16진수 64 (10진수 100)

    2) MaxConnectionPerServer → 16진수 64 (10진수 100)


 

9. 데이터실행방지(DEP) 기능 해제하기

  가. 내컴퓨터 오른쪽버튼 -> 등록정보

  나. 고급시스템 설정 클릭 

  다. 고급탭 -> 성능에서 설정 버튼 클릭

  라. 데이터 실행방지(DEP)탭에서 [데이터 실행방지(DEP)를 필수 Windows 프로그램 및 서비스에서만 사용(T)] 선택


10. 패스워드 입력하지 않고 윈도 로그온
 
  실행창에 control userpasswords2 입력

  '사용자' 사용자의 이름과 암호를 입력해야 이컴퓨터를 사용할수 있음- 체크해제
 
  체크해제 하기 전에 네모칸 안에 Administrator를 더블클릭 하면 이름을 바꾸기 가능 .
 
 체크해제 후 OK.
 
  패스워드 입력란에 처음 로그인 했을시 입력했던 패스워드를 입력.
 
  밑 칸 한번더 입력.
 
 OK.    재시작...


11.설치시 암호설정

  영문 대문자와 소문자 혼용하고 숫자 몇개 넣어서 11자 만드니까 설정되더군요.
 
 그리고 집에서 혼자쓰는 거고 노트북과의 공유 설정을 위해서 암호를 사용해야 하기때문에

  복잡성은 해제하고 영소문자와 숫자 몇개 섞어서 일곱자리로 고쳐서 사용하고 있습니다.


  해제하는 밥업은 명령프롬프트에서

  gpedit.msc>컴퓨터 구성>윈도우즈 설정>보안설정>계정정책>암호정책

  으로 들어가시면 변경가능합니다.


 12. xp flp 사용시 로그인,오프의 번거로움 제거하는 팁 :

  실행창에서 control password2를 입력해도 무반응일 경우
 
  제어판 user account 에 가서 administrator계정에서 change password 클릭한다,

  구암호,신암호 여러칸이 나오는데

  구암호는 flp 처음 설치할때 만들었던 암호 써넣고 신암호 두칸(확인포함)은 비워둔채

  엔터치면 된다.

  다음 change the way users logon or off를 클릭한다,
 
 작은창이 하나 뜨면 cancel 클릭하고 use the welcome screen 클릭, apply option 클릭하면 된다.


추가정리(http://windowsforum.co.kr/bbs/zboard.php?id=server_02&no=13)
---------------------------------------------------------------------------------------------------------------------------------------------------------

****암호 무제한 사용
제어판-관리도구- 컴퓨터 관리-로컬사용자 및 그룹-사용자(어드민)-우클릭-속성
암호사용기간제한없음-체크후 적용

****화면보호기-다시 시작할때 로그온 화면 표시 체크 해제



****슈퍼패치 활성화(개인적으로 권장하지 않음)
HKEY_LOCAL_MACHINESYSTEM/CurrentControlSet/Control/SessionManager/MemoryManagement
/PrefetchParameters
마우스우클릭 -> 새로만들기 ->DWORD(32비트)값 -> EnablePrefetcher -> 값데이터 3
윈도우키 + R -> services.msc ->SuperFetch-> 시작 유형 자동


****종료 속도 빠르게 하기
시작 > 실행 > gpedit.msc > 그룹정책개체편집기 > 컴퓨터구성 > 관리템플릿 > 시스템 > 사용자프로필 > 프로필 언로드 및
업데이트의 재시도 최대횟수를 더블클릭 > 사용을 선택후 재시도횟수를 0 으로 수정합니다.

****Internet Explorer 세팅 및 인터넷 최적화
도구-인터넷 옵션-일반-열어본 페이지 목록에서 페이지 보관일수를 적당히 설정합니다.
도구-인터넷 옵션-연결-LAN설정-자동구성의 모든 체크 해제
도구-인터넷 옵션-고급-이미지 크기 자동조정가능에 체크 해제
                      브라우저 닫을때 임시 인터넷 파일 폴더 비우기에 체크(시스템 리붓 거의 안할경우만 추천)
                      웹페이지 단추 및 컨트롤 시각 스타일 사용에 체크해제
                      URL을 항상 UTF-8로 보냄에 체크 해제
                     


****오류보고 끄기
제어판 - 문제보고서 및 해결방법 - 오류 보고 사용안함 선택


****자동 시스템 재부팅 끄기
제어판-시스템-고급-시작 및 복구-설정-시스템오류 항목의 자동으로 다시시작을 체크해제


****시각효과 세부 설정
제어판-시스템-고급-성능-설정-성능옵션-시각효과-최적 성능으로 조정을 선택

윈도우키 + R -> regedit

****메뉴 팝업속도 향상하기
HKEY_CURRENT_USER/ControlPaneldesktop - MenuShowDelay → 0


****MSIE 로딩속도(DNS 캐쉬수정) 향상하기
HKEY_LOCAL_MACHINE/System/CurrentControlset/Services/DnscacheParameters
새로만들기(DWORD - 10진수)
CachehHashTableBucketSize---->1
CachehHashTableSize---------->384
MaxCacheEntryTtlLimit-------->64000
MaxSOACacheEntryTtlLimit----->301

HKEY_USER/.Default/Software/Microsoft/Windows/CurrentVersion/Internet Settings
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings
두 경로 모두 설정(없으면 새로 만듬)
새로만들기(DWORD - 16진수)
MaxConnectionsPerSever------>20
MaxConnectionsPer1_0Sever--->20

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/RemoteComputer
NameSpace에서 {D6277990-4C6A-11CF-8D87-00AA0060F5BF} 폴더 자체를 삭제(다른것이 보이지만 삭제하면 됨)


****폴더창 팝업속도 향상하기
HKEY_CURRENT_USER/Control Panel/desktop/windowmetrics
새로만들기(문자열 값)
MinAnimate ----> 0

****L2캐쉬 지정으로 속도향상하기
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/MemoryManagement/
SecondLevelDataCache ----> L2 캐쉬값 입력 (예:듀얼코어 2X512면 1024입력)

****종료 빠르게 하기
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/WaitTokillServiceTimeout : 20000 → 1000 로 수정

****무응답 응용프로그램 타임아웃 시간줄이기
없으면 문자열값을 만들면 됨.
HKEY_CURRENT_USER/Control Panel/Desktop에서 HungAppTimeout 값 5000(5초) → 500 (1000 = 1초) 로 수정


****서버 2008에서 비스타 사이드바 사용하기
http://www.windowsforum.co.kr/bbs /zboard.php?id=board04&page=1&sn1=&divpage=1&sn=off& ss=on&sc=on&keyword=사이드바&select_arrange=headnum& desc=asc&no=2523

****서버2008에서 HDTV 수신카드 사용하기
http://www.windowsforum.co.kr/bbs/zboard.php?id=board04&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&keyword=2008&select_arrange=headnum&desc=asc&no=3157

1. 패스워드 입력하지 않고 로그온
1-1. 실행창에 control userpasswords2 입력후 확인.
1-2. 사용자 계정 창이 열리면 사용자 이름가 암호를 입력해야 이 컴퓨터를 사용할 수 있음(E) 체크 해제.
1-3. 확인을 누르면 자동 로그온 창이 뜬다. 이곳에 자동 로그온 할 사용자 이름과 암호를 입력.

2. 암호 복잡성 만족(영문자+숫자+기호 혼용 사용) 사용 안함
2-1. 실행창에 gpedit.msc 입력후 확인.
2-2. 로컬 그룹 정책 편집기 창이 열리면 좌측에서 로컬 컴퓨터 정책 → 컴퓨터 구성 → Windows 설정 → 보안 설정 → 계정 정책 → 암호 정책 으로 이동후 오른쪽에서 암호는 복잡성을 만족해야 함을 찾는다.
2-3. 암호는 복잡성을 마족해야 함 속성 창이 열리면 사용 암함(S)을 선택하고 확인.

3. Ctrl + Alt + Del 사용 없이 로그온
3-1. 실행창에 gpedit.msc 입력후 확인
3-2. 로컬 그룹 정책 편집기 창이 열리면 좌측에서 로컬 컴퓨터 정책 → 컴퓨터 구성 → Windows 설정 → 보안 설정 → 로컬 정책 → 보안 옵션 으로 이동후 오른쪽에서 대화형 로그온: [Ctrl+Alt+Del]을 사용할 필요 없음을 찾는다.
3-3. 대화형 로그온 창이 열리면 사용(E)을 선택하고 확인.

4. 시스템 종료 이벤트 추적기 표시 안 함
4-1. 실행창에 gpedit.msc 입력후 확인.
4-2. 로컬 그룹 정책 편집기 창이 열리면 좌측에서 로컬 컴퓨터 정책 → 컴퓨터 구성 → 관리 템플릿 → 시스템 으로 이동후 오른쪽에서 시스템 종료 이벤트 추적기 표시를 찾는다.
4-3. 시스템 종료 이벤트 추적기 표시 속성 창이 열리면 사용 안 함(D)를 선택하고 확인.

5. Internet Explorer 보안 설정
5-1. 실행창에 CompMgmtLauncher 입력후 확인.
5-2. 서버 관리자 창이 열리면 우측의 보안정보 탭에서 IE ESC 구성을 선택.
5-3. Internet Explorer 보안 강화 구성 창이 열리면 관리자와 사용자 각가 사용 안 함을 선택하고 확인

6. 고급 시스템 설정
6-1. 실행창에 SystemPropertiesAdvanced 입력후 확인
6-2. 시스템 속성 창이 열리면 고급탭에서 성능 부분의 설정(S)을 선택.
6-3. 성능 옵션 창이 열리면 원하는 옵션을 선택 하고 고급탭으로 이동.
6-4. 고급 탭에서 프로세서 사용 계획 부분의 다음의 최적 성능을 위해 조정에서 프로그램(P) 선택하고, 데이터 실행 방지(DEP)탭으로 이동.
6-5. 데이터 실행 방지(DEP) 탭에서 데이터 실행 방지(DEP)를 필수 Windows 프로그램 및 서비스에만 사용(T) 선택 하고 확인을 선택해 시스템 속성창으로 돌아온다
6-6. 시작 및 복구의 설정(T)을 선택.
6-7. 시작 및 복구 창이 열리면 시스템 오류 부분에서 자동으로 다시 시작(R) 체크 해제하고, 아래쪽에 디버깅 정보 쓰기 부분에 작은 메모리 덤프(64KB)를 선택후 확인

6. 사운드 활성화
6-1. 실행창에 services.msc 입력후 확인.
6-2. 서비스 창이 열리면 Windows Audio 를 더블클릭.
6-3. Windows Audio 속성(로컬 컴퓨터) 창이 열리면 시작 유형(E) 자동을 선택하고 확인


7. 테마 / Aero 활성화
7-1. 실행창에 services.msc 입력후 확인
7-2. 서비스 창이 열리면 Themes 를 더블클릭.
7-3. Themes 속성(로컬 컴퓨터) 창이 열리면 시작 유형(E) 자동을 선택하고 확인.
7-4. 실행창에 CompMgmtLauncher 입력후 확인.
7-5. 서버 관리자 창이 열리면 왼쪽에서 기능을 선택하고 오른쪽에서 기능 추가를 선택.
7-6. 기능 추가 마법사 창이 열리면 qWave(Quality Windows Audio Video Experience), 데스
크톱 경험 선택 후 다음 → 설치후 재부팅
7-7. 바탕화면에서 마우스 오른쪽버튼 클릭 후 테마(M) 선택.
7-8. 테마 설정 창이 뜨면 테마(T) 부분에서 찾아 보기...를 선택해 C:\Windows\Resources\Themes\Aero.theme을 선택.

8. 동시 다운로드 수 설정 (다운로드 100개)
8-1 실행창에 regedit 입력후 확인.
8-2. 레지스트리 편지기 창이 열리면 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings에서마우스 오른쪽 버튼 클릭해 새로 만들기(N) → DWORD(32비트) 값 선택.
8-3. 오른쪽창에 새 값 #1이 생성되면 MaxConnectionsPerServer으로 만들고 그 것을 더블 클릭.
8-4. DWORD(32비트) 값 편집 창이 열리면 단위부분에서 10진수(D)를 선택하고 갑 데이터(V)에 100을 입력후 확인

9. 무선랜(무선 인터넷) 사용
9-1. 실행창에 CompMgmtLauncher 입력후 확인.
9-2. 서버 관리자 창이 열리면 기능 요약 부분에서 기능 추가를 선택.
9-3. 기능 추가 마법사 창이 열리면 무선LAN 서비스를 선택하고 다음 → 설치.
9-4. 실행창에 services.msc 입력후 확인
9-5. 서비스 창이 열리면 오른쪽에서 WLAN AutoConfig를 더블 클릭.
9-6. WLAN AutoConfig 속성(로컬 컴퓨터) 창이 열리면 시작 유형(E)을 자동으로 선택하고 확인

10. 윈도우 시작 시 서버 관리자 실행 안함
10-1. 실행창에 gpedit.msc 입력후 확인.
10-2. 로컬 그룹 정책 편집기 창이 열리면 왼쪽의 로컬 컴퓨터 정책 → 컴퓨터 구성 → 관리 템플릿 → 시스템으로 이동후 오른쪽에서 로그온 시 서버 관리 페이지를 표시 안 함을 더블 클릭
10-3. 로그온 시 서버 관리 페이지를 표시 안 함 속성 창이 열리면 사용(E) 선택후 확인.

제어판-관리도구-컴퓨터 관리--> 로컬사용자 및 그룹--> 사용자 에서 사용자 속성에
암호사용기간제한없음 체크

다이렉트 버젼 확인
시작 실행에서 dxdiag 를 치시면 다이렉트 정보가 나옵니다.

탐색기 실행시 원하는 위치 설정
탐색기 속성 - 대상 붙여넣기 하세요
%SystemRoot%\explorer.exe /e,/n,D:


알콜에서 목록을 제거할수는 없을까요?
알콜 실행
파일(F)
-이미지파일목록(L)
---셸바로가기메뉴(U)
-----기록목록의모든이미지파일을제거(M)

감춰진 오로라 부팅화면을 끄집어 내자 -
시작버튼을 클릭하고 실행창에 msconfig를 입력한다. → 시스템 구성 유틸리티가 뜨면 '부트'탭을 선택하여 'GUI부팅 없음'항목을 체크한다. → 시스템을 재부팅하면 오로라 부팅화면을 볼 수 있다.

Server 2008 64Bit의 부팅 시간 단축
[시작]의 [실행] 입력창에 "msconfig"를 타자 후 엔터키를 누릅니다.
[고급 부팅 옵션] 창에서 [프로세서 수] 항목의 드롭다운 버튼을 눌러 사용자 컴퓨터에서 선택 가능한 최대 숫자를 선택합니다.
[최대 메모리]는 기본값으로 그대로 두십시오. 오류인지 버그인지 설정을 변경하면 OS에서 메모리를 제대로 인식을 못합니다.

msconfig
시작 프로그램 /원하는 프로그램 체크 해제

2010년 5월 5일 수요일

Visual Assist 매크로 사용

short cut 메뉴는 다음 그림과 같이 Visual Assist X 창에서 Autotext 메뉴를
클릭(Shift + 마우스 오른쪽 클릭)하면 됩니다.



원하는대로 단축키를 만들 수 있지만 .. 저는 그냥 /-- 이것을 사용 중입니다.
밑에 칸에는 소스 코드를 기록하면 됩니다.


위에 설정을 한 후 Apply 버튼을 누릅니다.
앞으로 APIStart 소스코드가 필요한 경우 /-- 만 누르시면 자동으로 생성이 됩니다.



주석 같은 경우는 일반적으로 시간이나 파일 이름을 다는 경우가 많은데요..



다음과 같이 설정하면 자동으로 컴퓨터 현재 시간과 파일 이름이 기록이 되서
한결 원할하게 주석을 달 수 있습니다.

글쓰고 보니 상당히 허접 하네요.;;;

아래는 제가 사용하고 있는 파일 헤더 주석과 함수 주석의 간단한 예 입니다.


/*
*************************************************************************
*
*
* @name $FILE_BASE$.h
* @author
* @version 1.0
* @date $DATE$ $HOUR$:$MINUTE$
* @Compiler Visual C++ 6.0
* @OS Windows XP Professional
*
*************************************************************************
*/



/**
************************************************************************
*
*
* @author
* @return
* @param
* @date $DATE$ $HOUR$:$MINUTE$
* @version 1.0
************************************************************************
**/

2010년 5월 2일 일요일

VS.NET 단축키

1.F12 : 함수 정의된 모듈로 이동

 

2.ctrl+shift+spacebar : 메소드 매개인자 보기

 

3.F9 중단점 지정.

 

4.F5 디버깅 모드로 실행.(이미 디버깅 모드로 실행중일때 F5를 누르면 다음 중단점까지 이동)

 

5.Ctrl+F5 디버깅하지 않고 실행.

 

6.F10 프로시저단위실행.(현재 행이 메소드 호출일 경우 메소드 전체를 실행하고 호출한 메소드의

다음 행으로 이동한다.)

 

7.F11 한 단계 실행.(현재 행이 메소드 호출일 경우 메소드 안에 있는 코드의 첫째 행으로 이동한

다.)

 

8.Shift+F11 프로시저 나가기.

 

9.Ctrl+Shift+F9 모든 중단점 제거.

 

10.ctrl+shift+F5 : 디버깅 중일때 다시 시작.

 

11.ctrl+shift+B : 솔루션 빌드.

 

12.ctrl + F4 : 현재 문서 닫기 (열린 페이지가 너무 많아 버벅일 땐..닫아주어야 한다고 하네요..최소

한의 작업 파일만 열어둘 것.)

 

13.ctrl + Tab : 내부 문서간 이동

 

<뷰어>

 

13.솔루션 탐색기 : Ctrl + Alt + L

 

14.클래스 탐색기 : Ctrl + Shift + C

 

15.속성창 : F4

 

16.출력창(빌드결과) : Ctrl + Alt + O (알파벳 오)

 

17.도구상자 : Ctrl + Alt + X

 

18.작업목록 창보기 : Ctrl + Alt + K

 

19.(aspx, ascx) 디자인 화면 : Shift + F7

 

20.(aspx, ascx) cs 소스 화면 : F7

 

21.(aspx, ascx) 디자인 Html 소스  :Ctrl + PageDown -> 위화면은 (aspx, ascx) 디자인 화면일때

가능

 

22.화면을 넓게쓰기(소스를 넓게보기): Alt + Shift + Enter -> 원래화면도 같음.

 

=> 위 3개창 어느것이나 창을 닫을려면 마우스 포커스가 있는 상태에서 Shift + ESC 를 누르면 됩

니다.

 

<소그 편집 및 코딩시 >

 

23. 한 소스 안에서의 북마크

   북마크 찍기(해제)	: 	Ctrl 	+ K K
   북마크로 이동		: 	Ctrl	+ K N
   북마크 전체 해제	: 	Ctrl	+ K L

24. 여러 소스에서의 북마크

   북마크 찍기		: 	Ctrl 	+ K H
   북마크 찍은 목록보기	: 	
   1. Ctrl	+ Alt + K  누르면 작업목록 창이 나온다.
   2. 오른쪽 Ctrl 왼쪽에 있는 목록보기 버튼 클릭하면 리스트가 나온다.
   3. 이상태에서 K 누르고 S 누른다. (동시에 누르는거 아님)
   4. 그럼 바로가기 목록이 나오고 이목록이 북마크 목록이다.
   5. 방향키로 원하는 소스를 선택하면 해당소스 파일로 이동하고 그 위치에 커서가 간다.

 

25. 한줄 주석 : Ctrl + K C

 

26. 주석 해제 : Ctrl + K U

 

27. 여러줄 주석 : 쉬프트 누르고 방향키로 선택하고 Ctrl + K C

 

28. 여러줄 주석 해제: 쉬프트 누르고 방향키로 선택하고 Ctrl + K U

 

29. 소스 정사각형으로 선택하기: Alt + Shift + 방향키

 

<빌드 & 디버깅>

 

30. 빌드 : Ctrl + Shift + B

 

31. 디버깅 중단점 찍기 : Ctrl + F9

 

32. 디버깅 중단점 모두해제 : Ctrl + Shift + F9

 

33. 디버깅 중단점 모두 해제: Ctrl + Shift + B

 

34. 디버깅 : F5

 

35. 디버깅 중단 : Shift + F5

 

36. 디버깅 중에 다시 디버깅 : Ctrl + Shift + F5

 

37. 디버깅 중에 한칸씩 이동 : F11

 

38. 디버깅 중에 함수단위이동: F10

 

2010년 5월 1일 토요일

WPF Application Contorl을 Windows Form에서 사용방법

1. blend를 사용하여 WPF 컨트롤 라이브러리프로 젝트 생성후 *.xmal 파일에 Winodows Form에 삽입할 컨트롤을 작성한다.

 

2. *.xmal 파일을 해당 c# 프로젝트에 추가 시킨다.

3. 참조 추가를 선택하여 WindowsFormIntegration.dll 을 추가한다.

 
4. 프로젝트를 빌드 한다.
5. 도구상자에 ElementHost를 추가한다

6. 컴파일 한다.
전체 소스코드는 첨부파일을 받으시면 됩니다