일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- xml
- 예제
- PostgreSQL
- 입문
- 파라미터
- Visual Basic
- c#
- 시리얼 통신
- 문자열
- 소니
- 델파이
- VB.NET
- Delphi
- winsock
- 초보
- dll
- Visual Studio 2005
- SQL
- 파이어버드
- WIN32 SDK
- vb
- 셋업
- 설치
- 인스톨
- MySQL
- 기초
- Firebird
- MFC
- SDK
- 데이터베이스
- Today
- Total
목록Win32 SDK 초보 (27)
프로그래밍 노트
Win32 SDK로 만든 간단한 시리얼 통신 예제 한 문자 보내고 받기 컴포트가 COM1로 고정되어있음으로 테스트 할때 바꾸어 주고 다시 빌드해야됨. // 시리얼 포트 직접 입출력 #include #include "resource.h" BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM); DWORD RecvData(LPVOID ); // 수신 전용 스레드 HWND hWndCopy; // 스레드를 위한 핸들의 카피 HANDLE hFile; // 파일 핸들 int nSwitch; int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPreInst, LPSTR lpszCmdLine, int nCmdShow) { // 다이알로그 표시 Dialo..
지정한 디렉토리를 Windows 탐색기로 연다. #include "shellapi.h" // ShellExecute : void OpenExp(char* pszPath) { // Windows 탐색기 열기 ShellExecute(NULL, "open", pszPath, NULL, NULL, SW_SHOWNORMAL); } :
현재 작업 디렉토리 얻기 #include #include // _getcwd #include // _MAX_PATH #include // _getch void main() { char szPath[_MAX_PATH]; // 최대 패스 길이[260] // 실행 파일이 있는 디렉토리 얻기 _getcwd(szPath, _MAX_PATH); printf("실행파일이 있는 디렉토리\->%s\n", szPath); printf("아무키나 누르세요\"); _getch(); }
암호화 , 복호화 간단 예제 오늘은 하루종일 삽질하는군 -.-;; #include "stdafx.h" #include #define MAX_PASS 32 #define MY_PASS "HAHAHA" int DeCode (char *pszCode); int EnCode (char *pszCode); int main() { char szWork[MAX_PASS] = "BABO BABO BABO"; EnCode(szWork); CString strWork; strWork.Format("%s", szWork); ZeroMemory(szWork, strlen(szWork)); sprintf(szWork, "%s", (LPCSTR)strWork); DeCode(szWork); } // 암호화 int EnCode (..
멀티미디어 타이머로 좀 더 정밀한 컴퓨터의 경과시간 얻기(msec단위) 간단 예제 이 함수들을 쓰기 위해서는 라이브러리를 링크해야된다. 메뉴의 프로젝트를 선택하여 프로젝트 속성을 선택한다. 구성에서 구성 속성을 선택하고 링커의 입력을 선택한 후 추가 종속성에"winmm.lib"을 입력하여 라이브러리를 링크 시킨다. (이 예는 Visual Studio 2005의 경우이다.) #include "stdafx.h" #include "windows.h" #include "Mmsystem.h" int timeBeginPeriodTest() { DWORD dwStartTime = 0; DWORD dwEndTime = 0; DWORD dwTime; UINT uTermTime = 1; // 타이머의 시간간격 설정(mse..
높은 보안이 필요치 않아 암호를 간단하게 만들려고 해봤지만 암호는 간단하게 만들어지는 것이 아니였다. -.-;; 윈도우즈 API를 쓰면 그나마 머리 안쓰고(-.-;;) 만들 수 있었다. #include "stdafx.h" #include #include #define MY_PASS "NALNARI" // 패스워드 #define KeyLen 0x0080 * 0x10000 // 128-bit int _tmain(int argc, _TCHAR* argv[]) { HCRYPTPROV hProv; HCRYPTHASH hHash; HCRYPTKEY hKey; BYTE pbData[100] = "TEST TEST TEST REAL TEST"; DWORD dwDataLen = (DWORD)strlen((char*)pb..
현재 일자와 시간 얻어오기 예제 #include "stdio.h" int main() { SYSTEMTIME stSt; // 그리니치 표준일시 얻기 GetSystemTime(&stSt); printf("%04d-%02d-%02d %02d:%02d:%02d\n", stSt.wYear, stSt.wMonth, stSt.wDay, stSt.wHour, stSt.wMinute, stSt.wMinute); // 시스템의 현재 일시 얻기 GetLocalTime(&stSt); printf("%04d-%02d-%02d %02d:%02d:%02d\n", stSt.wYear, stSt.wMonth, stSt.wDay, stSt.wHour, stSt.wMinute, stSt.wMinute); return; }
우선 예제만 간단한 예제 소개부터... 그냥 밑에 소스를 가지고 프로그램을 만들기만 하면 된다. DLL만들때는 VS2005에서 만들때는 빈 프로젝트를 만들어서 소스 파일을 하나 추가해서 아래 소스를 붙여 넣는다. 메뉴의 프로젝트(P) > ??? 속성(P)...을 선택한다. 구성 속성 > 일반을 선택한뒤 프로젝트 기본값의 구성형식을 동적 라이브러리(.dll)을 선택하면 된다. DLL 불러쓰기의 프로젝트는 그냥 Win32콘솔 응용 프로그램에서 빈 프로젝트를 만들어서 소스를 추가하면 된다. 문자 집합은 멀티바이트 문자 집합 사용을 선택하면 밑에 소스를 그대로 쓸수있다. ◆ 초간단 DLL만들기 #include #include #define EXPORT extern "C" __declspec(dllexport) ..
strncpy 문자열을 n문자 카피 #include char *strncpy(char *s1, const char *s2, size_t n); 문자배열 *s1에 문자열 *s2를 선두에서 n문자 카피한다. 주의) 이 때 널문자가 자동으로 추가되지 않는다. s2의 길이가 n보다 작을 경우에는 남은 문자를 "\0"로 채운다. char szTemp[20] = "AA BB CC"; printf("01234567890\n"); printf("%s \n", szTemp); // "AA BB CC" strncpy(szTemp, "aa", 2); printf("%s \n", szTemp); // "aa BB CC" strncpy(szTemp+3, "bb", 2); printf("%s \n", szTemp); // "aa..