분류 전체보기
VB6 -> C# 포팅, 네이버 로그인, 네이버 쪽지 전송, 네이버 메일 전송
VB6 -> C# 포팅, 네이버 로그인, 네이버 쪽지 전송, 네이버 메일 전송
2012.12.02네이버 로그인: public static bool NaverLogin(string ID, string PW, CookieContainer cookie) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://nid.naver.com/nidlogin.login"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.Referer = "https://nid.naver.com/nidlogin.login"; request.CookieContainer = cookie; StreamWriter swriter = new StreamWri..
유용한 getImageFromURL, DownloadRemoteImageFile 함수
유용한 getImageFromURL, DownloadRemoteImageFile 함수
2012.12.02private static void DownloadRemoteImageFile(string uri, string fileName) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if ((response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Moved || response.StatusCode == HttpStatusCode.Redirect) && response.ContentType.StartsWith("image", Str..
POST/GET Transmitter 프로젝트.
POST/GET Transmitter 프로젝트.
2012.12.02더 기능을 추가하려고 했으나 시험 기간인 덕분인지 추가할 시간도 없네요. 소스가 많이 더럽습니다. Private Declare Function GetCapture Lib "user32" () As Long Private Declare Function SetCapture Lib "user32" (ByVal Hwnd As Long) As Long Private Declare Function ReleaseCapture Lib "user32" () As Long Dim WinHttp As New WinHttpRequest Private Sub bMinus_Click() Dim bIndex As Integer bIndex = arrCheck.UBound ' 최소 입력란 초과 If bIndex = 0 Then Ms..
D3D Tutorial 04: Lights
D3D Tutorial 04: Lights
2012.12.02#include "stdafx.h" LPDIRECT3D9 g_pD3D = NULL; // D3D 디바이스를 생성할 D3D 객체 변수 LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // 렌더링에 사용될 D3D 디바이스 LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; // 정점을 보관할 정점 버퍼 // 사용자 정점을 정의할 구조체 // 광원을 사용하기 때문에 법선벡터가 있어야 한다는 사실을 명심하자. struct CUSTOMVERTEX { D3DXVECTOR3 position; // 정점의 3차원 좌표 // 정점의 법선 벡터, 빛은 법선을 기준으로 반사되기 때문에, // 광원을 사용할때는 '반드시' 법선벡터가 있어야 처리가 가능하다. D3DXVECTOR3 norma..
2012.11.27 POST/GET Transmitter
2012.11.27 POST/GET Transmitter
2012.11.27
어셈블리: 데이터 타입, 피연산자 타입, 명령어 정리
어셈블리: 데이터 타입, 피연산자 타입, 명령어 정리
2012.11.251. 데이터 타입(Data Type) 타입 설명 BYTE 8비트 부호 없는 정수 SBYTE 8비트 부호 있는 정수 WORD 16비트 부호 없는 정수 SWORD 16비트 부호 있는 정수 DWORD 32비트 부호 없는 정수 SDWORD 32비트 부호 있는 정수 FWORD 48비트 정수 QWORD 64비트 정수 TBYTE 80비트 정수 2. 피연산자 타입(Operand Type) 피연산자 설명 r8 8비트 범용 레지스터 r16 16비트 범용 레지스터 r32 32비트 범용 레지스터 Reg 임의의 범용 레지스터 Sreg 16비트 세그먼트 레지스터 Imm 8, 16, 32비트 즉시값 imm8 8비트 즉시값 imm16 16비트 즉시값 imm32 32비트 즉시값 r/m8 8비트 범용 레지스터, 메모리 r/m16 16비..
범용 레지스터: EAX, ECX, EDX, ESI, EDI, ESP, EBP
범용 레지스터: EAX, ECX, EDX, ESI, EDI, ESP, EBP
2012.11.241. EAX(Extended Accumulator Register) 첫번째로, EAX 레지스터에 대해 알아보도록 하겠습니다. EAX 레지스터는 산술(덧셈, 곱셈, 나눗셈 등), 논리 연산을 수행하며 함수의 반환값이 이 레지스터에 저장됩니다. 즉, 덧셈, 곱셈, 나눗셈 등의 명령은 모두 EAX 레지스터를 사용하며, 함수의 반환 값이 EAX 레지스터에 저장되므로 호출 함수의 성공 여부, 실패 여부를 쉽게 파악할 수 있으며, 반환값을 쉽게 얻어올 수 있습니다. 직접 EAX 레지스터의 값이 어떻게 변하는지 확인해보도록 하겠습니다. 두 정수를 더하는 함수가 호출되고 나서 EAX 레지스터의 값이 어떻게 변하는지 확인해보기 위해, 아래와 같은 구조의 프로그램을 디버깅하여 EAX 레지스터의 값을 살펴보았습니다. #in..
프로세스 클리너 프로젝트 진행 중 개발 중단
프로세스 클리너 프로젝트 진행 중 개발 중단
2012.11.23아래는 프로세스 클리너 프로젝트 내 modCleaner.bas의 코드입니다. 여러 프로젝트가 함께 겹치다보니, 프로세스 클리너가 불완전한, 완성되지 못한 상태로 남아있었습니다. 제대로 동작하지 않을 수도 있으니, 그저 참고용으로 쓰시면 되겠네요. Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long Private Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Private Declare Funct..
DirectX 스터디: 월드 변환, 카메라 변환, 투영 변환
DirectX 스터디: 월드 변환, 카메라 변환, 투영 변환
2012.11.231. 월드 변환(World Transform) 월드 변환(World Transform)이란 현재 물체가 사용하는 지역 좌표계로부터 월드 좌표계로의 변환을 하는 동안 이동, 회전, 크기 변환 등의 변환을 거칩니다. 3차원 그래픽에서 모든 정점은 각자 자기만의 지역 좌표계상에서 정의됩니다. 이 지역 좌표계는 모델 좌표계라고도 합니다. 위의 이미지를 한번 보시면, 위의 물체는 고유한 원점을 기준으로 모델링되어 있습니다. 그런데, 한개가 아닌 여러개의 물체를 3차원 공간에 출력할 경우 어떤일이 벌어질까요? 여러개의 물체 모두 원점을 공유하는 일이 벌어져, 3차원 공간상에 모두 배치하게 되면 물체가 겹치게 됩니다. 이것들을 따로따로 출력하기 위해 로컬 좌표계를 월드 좌표계로 변환할 필요성이 생깁니다. 로컬 좌표계..
D3D Tutorial 03: Matrices
D3D Tutorial 03: Matrices
2012.11.23#include "stdafx.h" LPDIRECT3D9 g_pD3D = NULL; // D3D 디바이스를 생성할 D3D 객체 변수 LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // 렌더링에 사용될 D3D 디바이스 LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; // 정점을 보관할 정점 버퍼 // 사용자 정점을 정의할 구조체 struct CUSTOMVERTEX { FLOAT x, y, z; // 정점의 변환된 좌표 // FVF 선언 순서에 위배되면 절대로 작동하지 않고, 출력 결과는 장담할 수 없게된다. DWORD color; // 정점의 색깔 }; // 사용자 정점 구조체에 관한 정보를 나타내는 FVF(Flexible Vertext Format) 값 // 구..
D3D Tutorial 02: Vertices
D3D Tutorial 02: Vertices
2012.11.22#include "stdafx.h" LPDIRECT3D9 g_pD3D = NULL; // D3D 디바이스를 생성할 D3D 객체 변수 LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // 렌더링에 사용될 D3D 디바이스 LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; // 정점을 보관할 정점 버퍼 // 사용자 정점을 정의할 구조체 struct CUSTOMVERTEX { FLOAT x, y, z, rhw; // 정점의 변환된 좌표(rhw 값이 있으면 변환이 완료된 정점이다.) // RHW(reciprocal homogeneous W)는 동차 좌표계의 w값이며, 값이 있으면 변환이 완료된 정점을 말한다. // FVF 선언 순서에 위배되면 절대로 작동하지 않고, 출력 결..
D3D Tutorial 01: CreateDevice
D3D Tutorial 01: CreateDevice
2012.11.22#include "stdafx.h" LPDIRECT3D9 g_pD3D = NULL; // D3D 디바이스를 생성할 D3D 객체 변수 LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // 렌더링에 사용될 D3D 디바이스 /* Direct3D 초기화 */ HRESULT InitD3D(HWND hWnd) { // 디바이스를 생성하기 위한 D3D 객체 생성 if (NULL == (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION))) return E_FAIL; // 생성 실패시 E_FAIL를 반환 D3DPRESENT_PARAMETERS d3dpp; // 디바이스 생성을 위한 구조체 // 반드시 ZeroMemory() 함수로 미리 구조체를 깨끗이 지워야 한다. Zero..