当前位置:首页 » 操作系统 » sdk模板源码

sdk模板源码

发布时间: 2025-02-17 17:32:47

A. 求一个控制摄像头小程序的源码,要求VC下编译运行

VC-摄像头控制SDK源码
#include <windows.h>
#include <stdio.h>
#include <vfw.h>
#pragma comment(lib,"vfw32.lib")

HWND ghWndCap ; //捕获窗的句柄
CAPDRIVERCAPS gCapDriverCaps ; //视频驱动器的能力
CAPSTATUS gCapStatus ; //捕获窗的状态
char szCaptureFile[] = "MYCAP.AVI";
char gachBuffer[20];

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

LRESULT CALLBACK StatusCallbackProc(HWND hWnd,int nID,LPSTR lpStatusText)
{
if(!ghWndCap)return FALSE;//获得捕获窗的状态
capGetStatus(ghWndCap,&gCapStatus,sizeof(CAPSTATUS));//更新捕获窗的大小
SetWindowPos(ghWndCap,NULL,0,0,gCapStatus.uiImageWidth,gCapStatus.uiImageHeight,SWP_NOZORDER|SWP_NOMOVE);
if(nID==0){//清除旧的状态信息
SetWindowText(ghWndCap,(LPSTR)"hello");
return (LRESULT)TRUE;
}//显示状态ID和状态文本
wsprintf(gachBuffer,"Status# %d: %s",nID,lpStatusText);
SetWindowText(ghWndCap,(LPSTR)gachBuffer);
return (LRESULT)TRUE;
}
LRESULT CALLBACK ErrorCallbackProc(HWND hWnd,int nErrID,LPSTR lpErrorText)
{
if(!ghWndCap)return FALSE;
if(nErrID==0)return TRUE;//清除旧的错误
wsprintf(gachBuffer,"Error# %d",nErrID);//显示错误标识和文本
MessageBox(hWnd, lpErrorText, gachBuffer,MB_OK | MB_ICONEXCLAMATION);
return (LRESULT) TRUE;
}

LRESULT CALLBACK FrameCallbackProc(HWND hWnd,LPVIDEOHDR lpVHdr)
{
FILE *fp;
fp=fopen("caram.dat","w");
if(!ghWndCap)return FALSE;//假设fp为一打开的.dat文件指针
fwrite(lpVHdr->lpData,1,lpVHdr->dwBufferLength,fp);
return (LRESULT)TRUE;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]=TEXT("HelloWin");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=szAppName;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("This program requires WindowsNT!"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(szAppName,TEXT("The Hello Program"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch(message)
{
case WM_CREATE:
{
ghWndCap=capCreateCaptureWindow((LPSTR)"Capture Window",WS_CHILD|WS_VISIBLE,0,0,300,240,(HWND)hwnd,(int)0);
capSetCallbackOnError(ghWndCap,(FARPROC)ErrorCallbackProc);
capSetCallbackOnStatus(ghWndCap,(FARPROC)StatusCallbackProc);
capSetCallbackOnFrame(ghWndCap,(FARPROC)FrameCallbackProc);
capDriverConnect(ghWndCap,0); // 将捕获窗同驱动器连接
//获得驱动器的能力,相关的信息放在结构变量gCapDriverCaps中
capDriverGetCaps(ghWndCap,&gCapDriverCaps,sizeof(CAPDRIVERCAPS));
capPreviewRate(ghWndCap, 66); // 设置Preview模式的显示速率
capPreview(ghWndCap, TRUE); //启动Preview模式
if(gCapDriverCaps.fHasOverlay) //检查驱动器是否有叠加能力
capOverlay(ghWndCap,TRUE); //启动Overlay模式
if(gCapDriverCaps.fHasDlgVideoSource)capDlgVideoSource(ghWndCap); //Video source 对话框
if(gCapDriverCaps.fHasDlgVideoFormat)capDlgVideoFormat(ghWndCap); // Video format 对话框
if(gCapDriverCaps.fHasDlgVideoDisplay)capDlgVideoDisplay(ghWndCap); // Video display 对话框
capFileSetCaptureFile( ghWndCap, szCaptureFile); //指定捕获文件名
capFileAlloc(ghWndCap, (1024L * 1024L * 5)); //为捕获文件分配存储空间
capCaptureSequence(ghWndCap); //开始捕获视频序列
capGrabFrame(ghWndCap); //捕获单帧图像

}

return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("Hello,Windows98!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
{
capSetCallbackOnStatus(ghWndCap,NULL);
capSetCallbackOnError(ghWndCap,NULL);
capSetCallbackOnFrame(ghWndCap,NULL);
capCaptureAbort(ghWndCap);//停止捕获
capDriverDisconnect(ghWndCap); //将捕获窗同驱动器断开
PostQuitMessage(0);
}
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}

B. 如何查看Android SDK源码版本

一种办法是自带SDK管理工具更新:

另外的办法就是:
第一步:查看当前工程的SDK版本;

2.打开工程,查找任意一个函数,点击右键,选择查看源码.

3.提示找不到java源文件,这里需要手动添加源文件;

4.按图选择.这里还没有source的文件夹..所以..去下载相关平台的SDK的java源码;

5.打开网址:http //rgruet free fr/public/
根据SDK版本下载对应的源码,比如2.1的.

6.在SDK平台目录下,新建一个sources文件夹;

7.把源码直接解压到当前文件夹下;

8.再次选择查到源码,并选择sources文件夹;

9.eclipse会自动导入;

10.再次查看函数的源码,是不是代码就出来了.

C. 如何查看eclipse中android sdk

很多时候我们需要查看Android SDK源码来更好的了解API和分析问题。

SDK 源码

从Android4.0开始在AndroidSDK
Manager中就为我们提供了SDK源码下载,打开Eclipse中的Android SDK Manager,选择其中的Sources For
Android SDK,点击install packages。安装好后就可以直接在Eclipse中点击你代码中调用得API来查看源码了。

Support Library源码

Supportlibrary的源码在你用Android SDK Manager下载了相应的support
library之后就在你的SDK目录下了。比如我的源码就在/Applications/adt-bundle-mac-x86_64-20140321/sdk/extras/android/support/v4/src下面。拿android-support-v4.jar来说,当我们把它添加到项目的libs下面之后,在项目上点击右键->属性->java
build path->Libraries,我们发现这个jar是在AndroidPrivate

Libraries下面,不允许我们设置他的源码位置。这个时候,我们需要在eclipse中项目下的libs下右键点击android-support-v4.jar->Build
Path->add to build
path。然后打开buildpath->Libraries,展开android-support-v4.jar,点击Source
attachment,点击右边的编辑,如下图

接着在弹出的框中选择Externallocation->External
Folder,选则源码所在文件夹(比如我这里的/Applications/adt-bundle-mac-x86_64-20140321/sdk/extras/android/support/v4/src)

最后在build path中选中AndroidiPrivateLibraries,点击右边的remove。这个时候,我们就可以查看support library的源码了。

D. 如何查看Android SDK源码版本

  1. 点击菜单栏Tools-Android-SDK Manager

    E. gh0st源码编译源码教程。谁会

    gh0st的代码很明显需要XP或2003SDK的支持
    安装完SDK后设置好VC6.0的路径直接build就可以过了
    很遗憾
    刚才看了一下最后一个支持VC6.0的SDK下载地址已经没有了
    下载下面的试试
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.2.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.3.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.4.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.5.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.6.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.7.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.8.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.9.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.10.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.11.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.12.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.13.cab
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.bat
    http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/Extract.exe

    F. 如何在IDEA中查看Android SDK源码

    如何查看Android SDK的源代码。
    当我们要使用Android SDK中的某个类时,由于官方文档和资料都没有详细的描述。
    虽然可以直接下载Android SDK的源代码,但比较麻烦。可以再Eclipse中直接查看源代码,按住Ctrl键,单击鼠标即可,会跳转到相应的类或接口中。
    但是我们需要将Android SDK的源代码放在android SDK目录\platforms\android-x\source目录中。

热点内容
安卓区光遇如何遁地 发布:2025-02-20 11:27:14 浏览:352
微信跳转源码 发布:2025-02-20 11:25:50 浏览:73
我的世界服务器头顶文字 发布:2025-02-20 11:25:48 浏览:620
字节流解压 发布:2025-02-20 11:25:42 浏览:417
手c语言 发布:2025-02-20 11:10:30 浏览:280
c语言分句 发布:2025-02-20 10:57:11 浏览:614
桌上传球 发布:2025-02-20 10:51:26 浏览:240
光遇怎么分辨纯手工心和脚本心 发布:2025-02-20 10:50:46 浏览:146
如何查看ntp服务器 发布:2025-02-20 10:40:31 浏览:549
算法安全 发布:2025-02-20 10:39:45 浏览:686