c語言sdk
Ⅰ SDK是屬於C語言范圍嗎
不屬於,它與目的相關,是某種應用為C語言提供的介面,有了這個介面,你就可以用C語言的格式調用相應函數,實現目的功能。比如DIRECTX sdk
Ⅱ C語言寫的SDK程序中COLORREF類型數組比較的問題!!
COLORREF X[3];
COLORREF Y[3];
memcmp((char*)X,(char*)Y,sizeof(COLORREF)*3);
Ⅲ C語言_WIN32_SDK_OpenFile()&&ReadFile()
~千萬別吐MSDN,那玩意兒用處大了......
第10行,if(hFile=(HANDLE)HFILE_ERROR)
要改成:if(hFile==(HANDLE)HFILE_ERROR)
=是賦值,==才是測試相塌瞎等(低級錯誤呦~)
ReadFile()函數原型為:
BOOL ReadFile(HANDLE hFile,
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
LPOVERLAPPED lpOverlapped);
hFile是文件句柄
lpBuffer是緩沖區(接收讀取的數據)
nNumberOfBytesToRead是讀取的位元組吵姿數
lpNumberOfBytesRead用來接收實際升衫絕讀取的位元組數
lpOverlapped定義非同步操作,一般設為NULL
Ⅳ C語言SDK編程
public class convertToOx extends Frame implements ActionListener{
Label ox; //顯示結果的標簽
TextField input; //輸入文本框
public convertToOx(){
super("二進制轉十進制"); //定義窗體的標題
dec=new Label("字元");
input=new TextField(20);
Button convert=new Button("轉換"); //轉換按鈕
setLayout(new FlowLayout()); //制定按流式布局排布控制項
add(input);
add(convert);
add(ox);
convert.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String s=input.getText(); //獲取文本框的輸入字元串
int x=Integer.parseInt(s,16); //按十六進制分析字元串
ox.setText("結果="+x); //將分析後的十進制結果顯示在標簽處
}
public static void main(String args[]){
Frame x=new convertToOx();
x.setSize(450,150); //設置窗體大小
x.setVisible(true); //讓窗體可見
}
}
Ⅳ C語言 Win32 SDK創建MDI的問題
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR Lines,int ShowMode)
{
WNDCLASS Wndclass;
MSG msg;
hInst=hInstance;
Wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
Wndclass.hInstance=hInstance;
Wndclass.hbrBackground=(HBRUSH)(COLOR_APPWORKSPACE+1);
Wndclass.cbWndExtra=0;
Wndclass.cbClsExtra=0;
Wndclass.lpszMenuName=NULL;
Wndclass.style=CS_HREDRAW|CS_VREDRAW;
Wndclass.lpszClassName=TEXT("Main");
Wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
Wndclass.lpfnWndProc=WndProc;
RegisterClass(&Wndclass);
Wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
/*Wndclass.lpszClassName=TEXT("MDI");
Wndclass.lpfnWndProc=MDIProc;
RegisterClass(&Wndclass);*/
Wndclass.lpszClassName=TEXT("MDIChild");
Wndclass.lpfnWndProc=MDIChildP;
RegisterClass(&Wndclass);
HWND Main=CreateWindow(TEXT("Main"),TEXT("MDI DEMO"),WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
UpdateWindow(Main);
ShowWindow(Main,ShowMode);
while(GetMessage(&msg,Main,NULL,NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
static MDICREATESTRUCT mdiwindow;
static CLIENTCREATESTRUCT MDIClient;
switch(msg)
{
case WM_CREATE:
MDIClient.idFirstChild=50000;
MDIClient.hWindowMenu=NULL;
hMDIClient=CreateWindowEx(0,TEXT("MDICLIENT"),TEXT("MDI"),
WS_CHILD|WS_CLIPCHILDREN|WS_VISIBLE,
0,0,
0,0,
hwnd,(HMENU)1,hInst,&MDIClient);
mdiwindow.szClass=TEXT("MDIChild");
mdiwindow.szTitle=TEXT("MDI");
mdiwindow.hOwner=hInst;
mdiwindow.style=0;
mdiwindow.cx=CW_USEDEFAULT;
mdiwindow.cy=CW_USEDEFAULT;
mdiwindow.x=0;
mdiwindow.y=0;
mdiwindow.lParam=0;
SendMessage(hMDIClient,WM_MDICREATE,0,(LPARAM)(LPMDICREATESTRUCT)&mdiwindow);
return 0;
case WM_LBUTTONDOWN:
SendMessage(hMDIClient,WM_MDICREATE,0,(LPARAM)(LPMDICREATESTRUCT)&mdiwindow);
return 0;
case WM_CLOSE:
PostQuitMessage(0);
return 0;
}
return DefFrameProc(hwnd,hMDIClient,msg,wParam,lParam);
}
LRESULT CALLBACK MDIChildP(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
}
return DefMDIChildProc(hwnd ,msg,wParam,lParam);
}
Ⅵ 純C語言SDK編程有哪些應用領域、、
你好 我是一名大三的學生 我學習的順序是 C C++ MFC 如果你想以後有更好的發展 你又不想過多的接觸面向對象編程 我建議你談改學習MTK 也就是C嵌入式 純C語言 功能很強大 一本書在手就能對著啟攜學了 技術一般的話 年悄侍伏薪估計在10W吧
Ⅶ C語言SDK程序中的代碼怎麼理解
BITMAPINFO是BMP文件信息,RGBQUAD是調色板,都定義在wingdi.h。詳細可看我以前總結的BMP格式說明:
- 點陣圖(BMP)的格式
點陣圖有1位點陣圖(單色)、4位點陣圖(16色)、8位點陣圖(256色)、16位點陣圖()、24位點陣圖(真彩色)、32位點陣圖()。他們都符合同樣的結構。
- 總結構
- 文件頭 // 1個,14個位元組
- 點陣圖信息頭 // 1個,40個位元組
- 調色板信息 // 可選部分,對於24位點陣圖是沒有的
- 數據區
- 文件頭
用於描述整個bmp文件的情況。結構如下:
typedef struct tagBITMAPFILEHEADER // 14個位元組
{
unsigned short bfType; // 一定是"BM",也就是0x4D42,表示這是一個BMP文件
unsigned long bfSize; // 整個文件的位元組數
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned long bfOffBits; // 點陣圖的數據區離文件頭的偏移量,以位元組為單位。該值可能是54(24位,16位555),70(16位565),1078(8位),118(4位),62(1位)
} BITMAPFILEHEADER, *PBITMAPFILEHEADER;
- 點陣圖信息頭
用於描述整個點陣圖文件的情況。
typedef struct tagBITMAPINFOHEADER // 40個位元組
{
unsigned long biSize; // 本結構的大小,一定是40
long biWidth; // 點陣圖的寬(單位:像素)
long biHeight; // 點陣圖的高(單位:像素)
unsigned short biPlanes; // 恆為1
unsigned short biBitCount; // 點陣圖的位數,可取值為1 4 8 16 24 32
unsigned long biCompression; // 16位點陣圖的格式。可取值BI_RGB(0)或BI_BITFIELDS(3)。對於非16位點陣圖,取值BI_RGB;對16位點陣圖,取值BI_RGB表示是555格式;取值BI_BITFIELDS則表示可能是555也可能是565,具體根據掩碼判斷。
unsigned long biSizeImage; // 數據區大小。biSizeImage+bfOffBits==文件大小
long biXPelsPerMeter; // 通常為0
long biYPelsPerMeter; // 通常為0
unsigned long biClrUsed; // 本圖像實際使用的顏色數目。為0表示用到顏色數目為2^biBitCount
unsigned long biClrImportant; // 本圖像中重要顏色的數目。為0表示所有顏色都是重要的
} BITMAPINFOHEADER;
- 調色板信息(可選部分)
- 對於24位點陣圖是沒有的,對於8位點陣圖則存放調色板,16與32位點陣圖則存放RGB顏色的掩碼,這些掩碼以DWORD大小來存放。
- 8位:調色板
有1024位元組的調色板區。一共有256個調色板元素,每個4位元組。
數據區中用8位存儲的1個像素,取值范圍是0~255,其實存儲的就是調色板中index。
一個調色板,4個位元組,是1個RGBQUAD結構體,存儲的是gbr,正好和顏色的rgb相反。
- 16位的555:
如果biCompression==BI_RGB,沒有掩碼區。如果biCompression==BI_BITFIELDS,則有16個位元組的掩碼區。
前3個DWORD,分別是RGB的掩碼,後1個DWORD為0.
555格式為:xrrrrrgggggbbbbb。意思是說,1個像素用16位表示,第一位不用,然後連續5位是r,連續5位是g,連續5位是b
用掩碼可以判斷是否是555。
- 16位的565:16個位元組的掩碼區
有16個位元組的掩碼區。
前3個DWORD,分別是RGB的掩碼,後1個DWORD為0.
00 f8 00 00 e0 07 00 00 1f 00 00 00 00 00 00 00
R掩碼:00 f8 00 00
G掩碼:e0 07 00 00
B掩碼:1f 00 00 00
565格式為:rrrrrggggggbbbbb。意思是說,1個像素用16位表示,連續5位是r,連續6位是g,連續5位是b
用R或G的掩碼,可以判斷當前16位是565還是555。例如用R掩碼來判斷:
R掩碼 == f800 == 1111100000000000,頭5位是1,表示是565。如果R掩碼 == 0111110000000000,則表示是555。
- 數據區
- 按行存儲像素。例如一個row*col的數據,首先存儲第1行,再存儲第2行,...,最後存儲第row行
- 而且每行的數據是按4位元組對齊的。如果一行的數據不足4位元組,則以0在後面補齊。
Ⅷ C語言SDK程序哪裡錯了
看不出來。
最好能把全代碼給出,跟蹤一下。
Ⅸ 匯編語言可以對硬體直接進行操作是什麼意思 C語言可以嗎
因所有語言都最後要轉換成機器碼,因計算機只會按這缺行機器碼進行運行,寬扮輪而匯編語言就是這機器碼的助記符(幫助記憶的符號),所以它就是直接可操作機器的語言。C語言是一慎信種中級語言,它也可進行機器的直接操作,只是還要經過一些設置或轉換才行。
Ⅹ C語言編程,windows,sdk,,中實現fopen讀取多行問題
文本框請添加 multiline風格 文本框是野芹信以\r\n為換行的
建頌輪議你用二進制方式讀取首搜文本.......