블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2861)
Unity3D (899)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (192)
협업 (65)
3DS Max (3)
Game (12)
Utility (142)
Etc (99)
Link (34)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

업뎃 됐을지도 모르니 홈페이지에서 받으셔도 됩니다.
http://winsplit-revolution.com/



모니터 화면 분할 프로그램이긴 한데...
화면 분할 기능 보다는 "듀얼 모니터 간 창 이동"에 주로 사용한다.
이제는 컴퓨터 포맷한 후 그래픽 카드 드라이버와 함께 제일 먼저 설치하는 어플이 되었다.

비록, 그래픽 카드 드라이버에서 제공하는 "창 이동 기능"이 있기는 하지만, 이 어플 꽤 쓸만하다.
(nVidia의 경우 Vista나 Windows 7에서 이 기능을 사용할 수 없었다. 있는데, 아직 못 찾고 있는 건지도...혹시, 사용중이라면, 댓글 달아주시면 정말 감사하겠다.)

듀얼 모니터 사용자 중에 창을 다른 모니터로 이동하기 위해 아직도 힘겨운 드래그를 하고 있다면
이 프로그램을 사용해 보라. 그 편리함에 매료될 것이다.


다른 모니터로 창을 이동하는 방법... 정말 간단하다.
Ctrl+Alt+오른쪽 화실표 (또는 왼쪽 화살표)를 누르면, 현재 활성화된 창이 원하는 모니터로 순간 이동한다.

또한, 하나의 모니터에서 여러 창을 띄우고자 한다면, Ctrl+Alt+숫자키(키보드 오른편에 위치한 숫자 패드상의 1,2,3,4,5,6,7,8,9)를 눌러보라! 활성화된 창이 한 모니터 상의 원하는 분할 영역으로 이동한다.


아래는 많이 사용하지는 않지만, 알고 있으면 유용한 기능들이다.

Ctrl+Alt+M  모자이크 기능 (많은 창들을 한 화면에 바둑판 형식으로 한번에 보여준다.)
Ctrl+Alt+F  윈도우 퓨젼 기능 (직접 한번 해 보시라...)
Ctrl+Alt+C  모든 창을 닫는다.(최소화가 아니다... 완전히 닫아버린다.)
Ctrl+Alt+PageDown  활성화된 창을 최소화한다.
Ctrl+Alt+PageUp  활성화된 창을 최대화한다.
Ctrl+Alt+T   활성화된 윈도우에 대해서 항상 위에 놓거나, 투명하게 설정하거나, 윈도우 캡처가 가능하다.

Vista나 Windows 7에서도 잘 된다~

사이트 주소는 split-revolution.com


출처 : http://codingfun.tistory.com/80
반응형
Posted by blueasa
, |
 

Dina.fon
다운로드

Dina 폰트

저는 8포인트로 해서 최대한 한 화면에 코드를 많이 볼수 있게 사용중입니다.

고정폭 글꼴이며 소문자 엘 과 대문자 아이, 숫자 영 과 대문자 오 구분이 잘 됩니다.


출처 :

http://www.gamecodi.com/board/zboard.php?id=GAMECODI_PDS&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=114

 

반응형

'Utility > Fonts' 카테고리의 다른 글

[코딩폰트] Dina-Font-TTF-Remastered  (0) 2024.08.21
[링크] Google Noto Fonts  (0) 2015.10.16
Posted by blueasa
, |
반응형
Posted by blueasa
, |

C#에서 현재 경로를 알아내는 방법은 여러가지가 있다.

1. System.Environment.CurrentDirectory

가장 쉽게 현재 실행 경로를 알아낼 수 있는 방법이다. 하지만 이 방법은 Register에 등록된 프로그램으로 실행되면 다른 값을 출력한다. 이때는 3번 Application.StartupPath를 이용해야 한다.

* 루트일 경우에는 '\' 반환, 그 외의 경우에는 폴더명까지만 반환한다.
  • C:\
  • C:\TestFolder\MyApp

2. System.IO.Directory.GetCurrentDirectory()


1번과 동일하다.


3. Application.StartupPath

위의 Register에 등록되었을 때도 정상적으로 자신의 시작 경로를 반환한다. 하지만 이는 Window Forms를 사용할 때만 Application 클래스를 사용할 수 있기 때문에 Console 기반 혹은, 클래스 라이브러리 기반에서는 사용이 불가능하다.
Tip. Application.ExecutablePath
현재 실행된 어플리케이션의 실행 파일의 위치이다. C:\Test\App.exe 와 같이 출력된다. 이 정보는 현재 경로가 아니기 때문에 변경되지 않는다.


반응형
Posted by blueasa
, |

1>NiInput.lib(NiDI8InputSystem.obj) : error LNK2019: __imp__CoUninitialize@0 외부 기호(참조 위치: "protected: static int __cdecl NiDI8InputSystem::IsXInputDevice(struct _GUID const *)" (?IsXInputDevice@NiDI8InputSystem@@KAHPBU_GUID@@@Z) 함수)에서 확인하지 못했습니다.
1>NiInput.lib(NiDI8InputSystem.obj) : error LNK2019: __imp__CoSetProxyBlanket@32 외부 기호(참조 위치: "protected: static int __cdecl NiDI8InputSystem::IsXInputDevice(struct _GUID const *)" (?IsXInputDevice@NiDI8InputSystem@@KAHPBU_GUID@@@Z) 함수)에서 확인하지 못했습니다.
1>NiInput.lib(NiDI8InputSystem.obj) : error LNK2019: __imp__CoCreateInstance@20 외부 기호(참조 위치: "protected: static int __cdecl NiDI8InputSystem::IsXInputDevice(struct _GUID const *)" (?IsXInputDevice@NiDI8InputSystem@@KAHPBU_GUID@@@Z) 함수)에서 확인하지 못했습니다.
1>NiInput.lib(NiDI8InputSystem.obj) : error LNK2019: __imp__CoInitialize@4 외부 기호(참조 위치: "protected: static int __cdecl NiDI8InputSystem::IsXInputDevice(struct _GUID const *)" (?IsXInputDevice@NiDI8InputSystem@@KAHPBU_GUID@@@Z) 함수)에서 확인하지 못했습니다.
1>D:\Learn\ActionTool\Debug\Managed.dll : fatal error LNK1120: 4개의 확인할 수 없는 외부 참조입니다.



해결방법 : #pragma comment(lib, "ole32.lib")
반응형

'Programming > C++/CLI' 카테고리의 다른 글

Win32 API TYPE <-> C# TYPE  (0) 2010.07.20
C#, Managed C++ 참고 자료  (0) 2010.06.25
C++/CLI 빌드 시, LNK2019 에러 #2  (0) 2010.06.07
C++/CLI 빌드 시, LNK2019 에러 #1  (0) 2010.06.07
C# + CLI + C++ 혼합 디버깅  (0) 2010.06.01
Posted by blueasa
, |

1>NiInput.lib(NiDI8InputSystem.obj) : error LNK2019: __imp__SysFreeString@4 외부 기호(참조 위치: "protected: static int __cdecl NiDI8InputSystem::IsXInputDevice(struct _GUID const *)" (?IsXInputDevice@NiDI8InputSystem@@KAHPBU_GUID@@@Z) 함수)에서 확인하지 못했습니다.
1>NiInput.lib(NiDI8InputSystem.obj) : error LNK2019: __imp__SysAllocString@4 외부 기호(참조 위치: "protected: static int __cdecl NiDI8InputSystem::IsXInputDevice(struct _GUID const *)" (?IsXInputDevice@NiDI8InputSystem@@KAHPBU_GUID@@@Z) 함수)에서 확인하지 못했습니다.
1>D:\Learn\ActionTool\Debug\Managed.dll : fatal error LNK1120: 2개의 확인할 수 없는 외부 참조입니다.



해결 방법 : #pragma comment(lib, "oleaut32.lib")
반응형
Posted by blueasa
, |

1>First.lib(SAEApp.obj) : error LNK2019: __imp__GetClientRect@8 외부 기호(참조 위치: "public: bool __thiscall SAEApp::Initialize(void)" (?Initialize@SAEApp@@QAE_NXZ) 함수)에서 확인하지 못했습니다.
1>NiD3D10Renderer.lib(NiD3D10Renderer.obj) : error LNK2001: __imp__GetClientRect@8 외부 기호를 확인할 수 없습니다.
1>NiSystem.lib(NiDebug_Win32.obj) : error LNK2019: __imp__MessageBoxA@16 외부 기호(참조 위치: "public: static bool __cdecl NiAssertFail::DefaultAssertFail(char const *,char const *,char const *,int)" (?DefaultAssertFail@NiAssertFail@@SA_NPBD00H@Z) 함수)에서 확인하지 못했습니다.
1>NiSystem.lib(NiMessageBox.obj) : error LNK2001: __imp__MessageBoxA@16 외부 기호를 확인할 수 없습니다.
1>SecretBaseLib.lib(Assert.obj) : error LNK2001: __imp__MessageBoxA@16 외부 기호를 확인할 수 없습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__WaitMessage@0 외부 기호(참조 위치: "public: int __thiscall CWindow::Run(struct HINSTANCE__ *,int)" (?Run@CWindow@@QAEHPAUHINSTANCE__@@H@Z) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__DispatchMessageA@4 외부 기호(참조 위치: "public: int __thiscall CWindow::Run(struct HINSTANCE__ *,int)" (?Run@CWindow@@QAEHPAUHINSTANCE__@@H@Z) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__TranslateMessage@4 외부 기호(참조 위치: "public: int __thiscall CWindow::Run(struct HINSTANCE__ *,int)" (?Run@CWindow@@QAEHPAUHINSTANCE__@@H@Z) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__GetMessageA@16 외부 기호(참조 위치: "public: int __thiscall CWindow::Run(struct HINSTANCE__ *,int)" (?Run@CWindow@@QAEHPAUHINSTANCE__@@H@Z) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__PeekMessageA@20 외부 기호(참조 위치: "public: int __thiscall CWindow::Run(struct HINSTANCE__ *,int)" (?Run@CWindow@@QAEHPAUHINSTANCE__@@H@Z) 함수)에서 확인하지 못했습니다.
1>SecretBaseLib.lib(Assert.obj) : error LNK2001: __imp__PeekMessageA@20 외부 기호를 확인할 수 없습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__ShowWindow@8 외부 기호(참조 위치: "public: int __thiscall CWindow::Run(struct HINSTANCE__ *,int)" (?Run@CWindow@@QAEHPAUHINSTANCE__@@H@Z) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__SetWindowPos@28 외부 기호(참조 위치: "private: void __thiscall CWindow::SetAdjustWindow(void)" (?SetAdjustWindow@CWindow@@AAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretCoreLib.lib(VisualManager.obj) : error LNK2001: __imp__SetWindowPos@28 외부 기호를 확인할 수 없습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__GetWindowRect@8 외부 기호(참조 위치: "private: void __thiscall CWindow::SetAdjustWindow(void)" (?SetAdjustWindow@CWindow@@AAEXXZ) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__GetSystemMetrics@4 외부 기호(참조 위치: "private: void __thiscall CWindow::SetAdjustWindow(void)" (?SetAdjustWindow@CWindow@@AAEXXZ) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__AdjustWindowRectEx@16 외부 기호(참조 위치: "private: void __thiscall CWindow::SetAdjustWindow(void)" (?SetAdjustWindow@CWindow@@AAEXXZ) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__GetMenu@4 외부 기호(참조 위치: "private: void __thiscall CWindow::SetAdjustWindow(void)" (?SetAdjustWindow@CWindow@@AAEXXZ) 함수)에서 확인하지 못했습니다.
1>First.lib(Window.obj) : error LNK2019: __imp__GetWindowLongA@8 외부 기호(참조 위치: "private: void __thiscall CWindow::SetAdjustWindow(void)" (?SetAdjustWindow@CWindow@@AAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretBaseLib.lib(Assert.obj) : error LNK2019: __imp__PostQuitMessage@4 외부 기호(참조 위치: "bool __cdecl SecretBase::SC_Assert(char const *,char const *,unsigned int)" (?SC_Assert@SecretBase@@YA_NPBD0I@Z) 함수)에서 확인하지 못했습니다.
1>SecretCoreLib.lib(VisualManager.obj) : error LNK2019: __imp__AdjustWindowRect@12 외부 기호(참조 위치: "protected: void __thiscall SCore::Visual::Implement::VisualManager::RecreateRenderer(bool,unsigned int,unsigned int)" (?RecreateRenderer@VisualManager@Implement@Visual@SCore@@IAEX_NII@Z) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIInterfaceCore.obj) : error LNK2019: __imp__SendMessageA@16 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUIInterfaceCore::QuitGame(void)" (?QuitGame@CUIInterfaceCore@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIEditString.obj) : error LNK2001: __imp__SendMessageA@16 외부 기호를 확인할 수 없습니다.
1>SecretInterface.lib(CUICursor.obj) : error LNK2019: __imp__ClientToScreen@8 외부 기호(참조 위치: "private: bool __thiscall SecretInterface::CUICursor::CheckOutScreenMousePosition(void)" (?CheckOutScreenMousePosition@CUICursor@SecretInterface@@AAE_NXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUICursor.obj) : error LNK2019: __imp__GetCursorPos@4 외부 기호(참조 위치: "private: bool __thiscall SecretInterface::CUICursor::CheckOutScreenMousePosition(void)" (?CheckOutScreenMousePosition@CUICursor@SecretInterface@@AAE_NXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUICursor.obj) : error LNK2019: __imp__GetFocus@0 외부 기호(참조 위치: "private: bool __thiscall SecretInterface::CUICursor::CheckOutScreenMousePosition(void)" (?CheckOutScreenMousePosition@CUICursor@SecretInterface@@AAE_NXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUICursor.obj) : error LNK2019: __imp__ClipCursor@4 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUICursor::SetWindowFocus(void)" (?SetWindowFocus@CUICursor@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUICursor.obj) : error LNK2019: __imp__ScreenToClient@8 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUICursor::SetWindowFocus(void)" (?SetWindowFocus@CUICursor@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUICursor.obj) : error LNK2019: __imp__SetCursorPos@8 외부 기호(참조 위치: "private: void __thiscall SecretInterface::CUICursor::OnMoveFrame(void)" (?OnMoveFrame@CUICursor@SecretInterface@@AAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIDefine.obj) : error LNK2019: __imp__ShowCursor@4 외부 기호(참조 위치: "public: static void __cdecl SecretInterface::CUIDefine::SetWinSysCursor(bool)" (?SetWinSysCursor@CUIDefine@SecretInterface@@SAX_N@Z) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIEditString.obj) : error LNK2019: __imp__CloseClipboard@0 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUIEditString::CopyDeleteClipboard(void)" (?CopyDeleteClipboard@CUIEditString@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIEditString.obj) : error LNK2019: __imp__SetClipboardData@8 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUIEditString::CopyDeleteClipboard(void)" (?CopyDeleteClipboard@CUIEditString@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIEditString.obj) : error LNK2019: __imp__EmptyClipboard@0 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUIEditString::CopyDeleteClipboard(void)" (?CopyDeleteClipboard@CUIEditString@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIEditString.obj) : error LNK2019: __imp__OpenClipboard@4 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUIEditString::CopyDeleteClipboard(void)" (?CopyDeleteClipboard@CUIEditString@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIEditString.obj) : error LNK2019: __imp__GetClipboardData@4 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUIEditString::PasteClipboard(void)" (?PasteClipboard@CUIEditString@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretInterface.lib(CUIEditString.obj) : error LNK2019: __imp__IsClipboardFormatAvailable@4 외부 기호(참조 위치: "public: void __thiscall SecretInterface::CUIEditString::PasteClipboard(void)" (?PasteClipboard@CUIEditString@SecretInterface@@QAEXXZ) 함수)에서 확인하지 못했습니다.
1>SecretBaseLib.lib(PathManager.obj) : error LNK2019: __imp__wsprintfA 외부 기호(참조 위치: "class SecretBase::PathManager::Path const & __cdecl SecretBase::PathManager::GetModifyPath(char const *)" (?GetModifyPath@PathManager@SecretBase@@YAABVPath@12@PBD@Z) 함수)에서 확인하지 못했습니다.
1>D:\Learn\ActionTool\Debug\Managed.dll : fatal error LNK1120: 31개의 확인할 수 없는 외부 참조입니다.


주요하게 볼 부분은 밑줄 쳐진 부분의 골뱅이 앞부분..(예:__imp__MessageBoxA@16 외부 기호를 확인할 수 없습니다. 의 MessageBoxA)을 인터넷 검색을 열심히 하다보면 추가해야 될 lib 파일이 가끔 나온다.

해결 방법 : #pragma comment(lib, "user32.lib")
반응형
Posted by blueasa
, |
반응형

'Link' 카테고리의 다른 글

C# 관련 블로그  (0) 2010.08.18
Visual Assist X 관련 링크~  (0) 2010.06.21
C++/CLI 참고 하는 사이트  (0) 2010.06.03
괜찮아보이는 자료실  (0) 2010.05.14
네이트온 광고제거 패치  (0) 2010.05.12
Posted by blueasa
, |

현재 윈도우 해상도 얻기
Size Bounds = Screen.PrimaryScreen.Bounds.Size;
MessageBox.Show(Bounds.ToString());
(결과) Width=2560, Height=1600

작업 표시줄 제외한 윈도우 영역 크기 얻기
Size WorkingArea = Screen.PrimaryScreen.WorkingArea.Size;
MessageBox.Show(WorkingArea.ToString());
(결과) Width=2560, Height=1570

※ 결과 : 2560*1600 해상도에서 테스트 한 결과
반응형
Posted by blueasa
, |

MagneticForm.zip
윈도우(Form)가 바탕화면 가장자리에 가까이 가면 자동으로 붙도록 만드는 것은 그다지 어렵지 않습니다.

현재 윈도우의 좌표가 바탕화면 가장자리 좌표와 일정 수준 이상 가깝게 되면 윈도우를 강제로 바탕화면 가장자리 근처로 이동시키는게 로직의 전부입니다.

그러나 C#의 기본 Form 이벤트는 윈도우가 이동이 완료된 후의 이벤트밖에 없습니다. 자석윈도우를 만들려면 윈도우가 이동중일 때의 이벤트가 필요한데 말이죠.

아래 코드는 별다른 로직은 없고 윈도우 메시지를 직접 받아서 처리하는 코드입니다.

간단히 코드를 설명하면 WndProc 함수를 오버라이드해서 WM_WINDOWPOSCHANGING(윈도우가 이동중) 메시지를 받습니다.

그리고 SetDockWindow() 함수를 호출하는데 첫번째 매개변수에는 자석윈도우로 만들 Form을 넘겨줍니다. 두번째 매개변수는 윈도우가 바탕화면 가장자리에 어느정도 가까이 가면 붙도록 할 것인지를 결정하는 수치로 픽셀단위의 정수형 값을 넘겨줍니다. 마지막 매개변수는 WndProc 함수에서 받은 Message 객체를 그대로 전달해줍니다.

SetDockWindow() 함수에서는 Screen.FromHandle()을 이용해서 현재 폼이 위치한 화면의 작업 영역을 얻어옵니다. 이렇게 함으로써 듀얼모니터 지원이 가능합니다.

나머지 코드들은 그냥 좌표 계산이 전부인데 Math.Abs() 함수를 써서 윈도우가 화면안에 있을때나 바깥에 있을 때 모두 자석효과가 가능하도록 처리해줍니다.

01 public const Int32 WM_WINDOWPOSCHANGING = 0x0046;
02   
03 [StructLayout(LayoutKind.Sequential)]
04 public struct WINDOWPOS
05 {
06     public IntPtr hwnd;
07     public IntPtr hwndInsertAfter;
08     public int x;
09     public int y;
10     public int cx;
11     public int cy;
12     public int flags;
13 }
14           
15 protected override void WndProc(ref Message m)
16 {
17     switch(m.Msg)
18     {
19         case WM_WINDOWPOSCHANGING:
20             SetDockWindow(this, 25, ref m);
21             break;
22     }
23     base.WndProc(ref m);
24 }
25   
26 private void SetDockWindow(Form form, int dockMargin, ref Message message)
27 {
28     //현재 Form이 위치한 화면의 작업영역 가져옴(WorkingArea = 작업표시줄을 제외한 영역)
29     Rectangle currentDesktopRect = (Screen.FromHandle(form.Handle)).WorkingArea;
30               
31     WINDOWPOS winPos = (WINDOWPOS)message.GetLParam(typeof(WINDOWPOS));
32   
33     //left
34     if (Math.Abs(winPos.x - currentDesktopRect.Left) <= dockMargin)
35     {
36         winPos.x = currentDesktopRect.Left;
37     }
38   
39     //top
40     if (Math.Abs(winPos.y - currentDesktopRect.Top) <= dockMargin)
41     {
42         winPos.y = currentDesktopRect.Top;
43     }
44   
45     //right
46     if (Math.Abs(winPos.x + winPos.cx - currentDesktopRect.Left - currentDesktopRect.Width) <= dockMargin)
47     {
48         winPos.x = currentDesktopRect.Right - winPos.cx;
49     }
50   
51     //bottom
52     if (Math.Abs(winPos.y + winPos.cy - currentDesktopRect.Top - currentDesktopRect.Height) <= dockMargin)
53     {
54         winPos.y = currentDesktopRect.Bottom - form.Bounds.Height;
55     }
56   
57     Marshal.StructureToPtr(winPos, message.LParam, false);
58     message.Result = (IntPtr)0;
59 }
(사용언어 / 제작툴 / .Net Framework버전 : C# / VS2010 / 2.0)


출처 : http://www.gungume.com/187
반응형
Posted by blueasa
, |