달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
질문자 : oskal_f_j  링크 : http://cafe.naver.com/winmodev/154
<질문내용>

일반 윈도우 프로그래밍에서는
특정 버튼을 클릭했을 떄 작업소모가 될것이 예상되면
Cursor를 CWaitCursor 로 바꾸는 것이 가능했습니다.

윈모에서는 프로세스를 실행시키면 응답이 올때까지 무지개가 빙글빙글 돌아갑니다.

윈도우즈의 모래시계 커서랑 비슷한 기능으로 보여집니다.

하지만 윈모의 경우도 버튼을 실행시켰을 떄
몇초간의 작업시간이 걸리므로 무지개 빙글빙글을 표시할 수 있는 방법이 있을 것 같습니다.
어떤식으로 호출할 수 있는지는 아직 못찾고 있습니다.

<답변내용>

C# 이시라면.. 

// 무지개 시작
Cursor.Current = Cursors.WaitCursor;

////// 이 사이에서 작업을 하면 됩니다  //////

// 무지개 숨김
Cursor.Current = Cursors.Default;
 

위에 두줄로도 간단하게 해결됩니다

 작성일 : 2009.11.20

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다
:
Posted by Lunaness
질문자 : 슈퍼붕어(alfmtprk12)  링크 : http://cafe.naver.com/winmodev/132
<질문내용>

투박한 UI 대신 직접 디자인 한 폼을 쓰고 싶어요.
제가 포토샵은 좀 만질줄 알아서,
제작한 png 파일을 어떻게 import 시킬 수 있나요?

사용 어플리케이션들 처럼 예쁘게! 를 어떻게 만드는지요.

<답변내용>

저는 VS2005 C#으로 개발하고 있습니다

저도 커스텀 컨트롤로 만들어서 사용중인데요

예전에 코드플랙스에서 알파 모바일 컨트롤을 구해서 사용했었는데

버튼같은 객체가 많이 올라가니 엄청 느려져서 결국 직접 만들어서 사용중 이지요

혹 참고가 될런지 모르겠으니 링크 하나 올려드릴께요

보시고 참조하세요

http://alphamobilecontrols.codeplex.com/

 작성일 : 2009.11.16

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다

:
Posted by Lunaness
2009. 5. 27. 17:03

C#에서 Win32 API 사용하기 Programing/Windows Programing2009. 5. 27. 17:03


개요

Win32 API를 불러올 때, 함수의 명칭, 인자, 리턴 값을 가지고 불러오게 되어 있다. 하지만, C#에서 타입들이 모두 객체(Object)의 형식이며, 일반적인 C 의 데이터 형과 상이한 모양을 가진다. 이러한 문제들을 해결할 수 있는 것이 PInvoke 기능이다.

 

PInvoke( Platform Invocation Service)는 관리화 코드에서 비관리화 코드를 호출할 방법을 제공한다. 일반적인 용도는 Win32 API의 호출을 위해 사용한다.

 

namespace PinvokeExample

{

using System;

 

             using System.Runtime.InteropServices; // 반드시 입력해야 한다.

 

             public class Win32

             {

                           [DllImport(user32.dll)]

                           public static extern int FindWindow(string a, string b);

                          

             }

}

 

위 예제는 FindWindow라는 user32.dll C함수를 사용하는 모습을 보여주고 있다. 실제 FindWindow의 선언은 다음과 같다.

 

             HWND FindWindow(LPCSTR swClassName, LPCSTR swTitle);

 

HWND는 윈도우 핸들을 표현하는 32비트 정수 이므로, int형으로 치환되고 LPCSTR 형은 NULL로 끝나는 문자열을 표현한다. 이때 PInvoke string을 자동으로 LPCSTR로 치환해 주는 역할을 하게 된다.

이 문서에서는 이처럼 Win32 API 함수의 여러 유형들을 어떻게 C#에서 사용 할 것인지에 대하여 알아보자.




 

출처 : 데브피아

:
Posted by Lunaness

Interner Explorer8이 출시되었다는 예기를 듣고 바로 설치해 보았습니다

설치 완료 후 가장 먼저 해 본 것이 VS2005에서 C++ 프로젝트 생성 , C++ 클래스 생성 등

웹 페이지 형식으로 동작되는 기능창이 실행되는가 하는 것 이었습니다.

 

image

 

역시나...

 

Internet Explorer7과 마찬가지로 버그가 존재하더군요

원인은 VS2005의 위자드 엔진에서 IE8의 IInternetSecurityManager interface의 보안정책에 위반되기 때문이랍니다

 

해결방법은 아래와 같습니다

Visual C++ 팀이 Visual C++를 사용하는 개발자 분들이 Internet Explorer 8 설치 후에 겪는 문제에 대해 블로그를 통해 우회 방법을 소개했습니다. 방법은 아래와 같습니다.

- regedit 실행

- “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings\Zones”에서 “1000” 키 생성

- DWORD 엔트리 생성 (Name=1207, Type=REG_DWORD, Data=0x000000)

Visual C++ 사용하는 개발자가 Internet Explorer 8을 설치하고 나서, Visual Studio에서 마법사를 통해 함수 추가, 변수 추가, Smart Device 프로젝트 생성, Smart Device 클래스 추가 등과 같은 것을 실행할 때 예기치 않은 메시지와 함께 제대로 동작하지 않는 문제가 있습니다. Internet Explorer의 custom security manager 처리에서 순조롭지 않은 일이 발생했다고 하는데, 좀 더 자세한 것은 지켜봐야겠습니다.

Visual C++ Team Blog: http://blogs.msdn.com/vcblog/archive/2009/03/28/some-vs2005-and-vs2008-wizards-pop-up-script-error.aspx

 

출처 : 한국 마이크로소프트 에반젤리스트의 IT 블로그

:
Posted by Lunaness

WinCE5에서 외부 COM DLL을 로드하기 위하여 초기화를 해주는

CoInitialize()라는 함수는 WinCE5에서 지원하지 않는다

 

MSDN을 살펴 본 결과

역시... 죽으란 법은 없나보다

 

This function is not supported. Instead, your application should call CoInitializeEx using the COINIT_MULTITHREADED constant in the second parameter, like this:


CoInitializeEx(x, COINIT_MULTITHREADED);


If your application uses calls to CoInitialize, you can use a #define directive to map CoInitialize to CoInitializeEx, like this:


#define CoInitialize(x)     CoInitializeEx(x, COINIT_MULTITHREADED)

 

역시 MSDN…

:
Posted by Lunaness