伊莉討論區
標題:
(OpenCV&DevC++)怎麼讓程式自動變更主要視窗?
[打印本頁]
作者:
ab78910
時間:
2010-5-1 09:42 AM
標題:
(OpenCV&DevC++)怎麼讓程式自動變更主要視窗?
以下是我的程式碼
#include <stdio.h>
#include <stdlib.h>
#include <cv.h>
#include <cvaux.h>
#include <highgui.h>
#include <cvcam.h>
int main()
{
char x[20]={0}, n[20]={0};
int i=0,j=0;
p r i n t f("請輸入你的英文名子: ");
s c a n f("%s", &x);
CvCapture* capture = cvCreateCameraCapture(0);
IplImage *Img;
cvNamedWindow("按任意鍵拍照", 1);
cvMoveWindow("按任意鍵拍照", 300, 260);
while((Img = cvQueryFrame(capture))!=0)
{
cvShowImage("按任意鍵拍照", Img);
if((cvWaitKey(50))!= -1)
{
s p r i n t f(n, "%s.jpg", x);
cvSaveImage(n, Img);
p r i n t f("儲存了名為%s的照片\n",x);
i++;
}
if (i>j)
{
p r i n t f("請輸入你的英文名子: ");
s c a n f("%s", &x);
j=i;
}
}
}
複製代碼
目前的情況是:
1.一開始使用者輸入完名子後,顯示的視訊視窗會被蓋住,有函式可以讓他顯示後就蓋過Dos視窗,變成主要視窗嗎?
2.按任意鍵拍照後,要用滑鼠按Dos視窗才能輸入名子,有函式可以讓Dos變主要視窗,直接輸入名子嗎?不用用到滑鼠
3.第2次輸入完名子,又要用滑鼠按視訊的視窗才能拍照...
不知道有沒有函式可以直接變更目前的主要視窗,麻煩高手教我了~~~!
我希望這個程式可以不用用到滑鼠去點視窗~^^
作者:
superjoeliao
時間:
2010-5-1 04:47 PM
透過API-SetActiveWindow來實現
相關參考資料
http://msdn.microsoft.com/en-us/library/ms646311
(VS.85).aspx
作者:
ab78910
時間:
2010-5-1 06:18 PM
本帖最後由 ab78910 於 2010-5-1 06:22 PM 編輯
非常感謝您的回覆!
不過我把程式碼改成以下的樣子,沒有效果耶=.=
能否教我用法~感恩!!^^
再問一個問題~怎麼抓Dos的handle??
#include <stdio.h>
#include <stdlib.h>
#include <cv.h>
#include <cvaux.h>
#include <highgui.h>
#include <cvcam.h>
int main()
{
char x[20]={0}, n[20]={0};
int i=0,j=0;
p r i n t f("請輸入你的英文名子: ");
s c a n f("%s", &x);
CvCapture* capture = cvCreateCameraCapture(0);
IplImage *Img;
cvNamedWindow("按任意鍵拍照", 1);
cvMoveWindow("按任意鍵拍照", 300, 260);
HWND hWnd1 = cvGetWindowHandle("按任意鍵拍照");
SetActiveWindow(hWnd1);
while((Img = cvQueryFrame(capture))!=0)
{
cvShowImage("按任意鍵拍照", Img);
if((cvWaitKey(50))!= -1)
{
s p r i n t f(n, "%s.jpg", x);
cvSaveImage(n, Img);
p r i n t f("儲存了名為%s的照片\n",x);
i++;
}
if (i>j)
{
p r i n t f("請輸入你的英文名子: ");
s c a n f("%s", &x);
j=i;
//cvGetWindowHandle("按任意鍵拍照");
}
}
}
複製代碼
歡迎光臨 伊莉討論區 (http://a401.file-static.com/)
Powered by Discuz!