国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
Windows CE開發(fā)常見問題解答(轉(zhuǎn)載)
Windows CE開發(fā)常見問題解答(轉(zhuǎn)載)
 

1.怎樣在一個控件獲得焦點(diǎn)時打開軟鍵盤?

比如一個EditBox獲得焦點(diǎn)后,這個時候自動打開軟鍵盤,這樣可以方便用戶輸入——SIPINFO、SHSIPINFO、SIPSETINFO、SIPGETINFO里面有些參數(shù)弄不明白

//隱藏輸入面板
BOOL LowerSip()
{
BOOL fRes = FALSE;
SIPINFO si;
memset( &si, 0, sizeof( si ) );
si.cbSize = sizeof( si );
if( SHSipInfo( SPI_GETSIPINFO, 0, &si, 0 ) )
{
si.fdwFlags &= ~SIPF_ON;
fRes = SHSipInfo( SPI_SETSIPINFO, 0, &si, 0 );
}
return fRes;
}

//升起輸入面板
BOOL RaiseSip( void )
{
BOOL fRes = FALSE;
SIPINFO si;
memset( &si, 0, sizeof( si ) );
si.cbSize = sizeof( si );
if( SHSipInfo( SPI_GETSIPINFO, 0, &si, 0 ) )
{
si.fdwFlags |= SIPF_ON;
fRes = SHSipInfo( SPI_SETSIPINFO, 0, &si, 0 );
}
return fRes;
}
再試試下面這些:
//SHSipPreference(m_hWnd, SIP_UP);//彈出輸入面板
//SHSipPreference(m_hWnd, SIP_DOWN);//隱藏輸入面板(有一個時延)
//SHSipPreference(m_hWnd, SIP_FORCEDOWN );//隱藏輸入面板(立即)
//SHSipPreference(m_hWnd, SIP_UNCHANGED );
//一般只用在調(diào)用SIP_DOWN時的的后面,使這個命令無效

--------------------------------------------------------------------------------

2.WinCE下字符串-數(shù)字轉(zhuǎn)化的問題!

在VC6.0下,把#include <stdlib.h>、#include <stdio.h>兩個文件包括進(jìn)去后,下面這段代碼一點(diǎn)問題沒有,
CString str1,str2;
str1="123";
str2="123.4";
int i;
float j;
i=atoi(str1);
j=atof(str2);
但是在EVC3.0里面,卻出現(xiàn)了問題:提示atof沒有定義,atoi也不能正常轉(zhuǎn)化。

用wcstoi,wcstof, wcstol和wcstod

--------------------------------------------------------------------------------

3. 我新拿了一個Pocket Pc,編了幾個程序,但發(fā)現(xiàn)對話框都只能全屏顯示,這是為什么?

一般在Pocket PC中所有的對話框都是全屏顯示,這是操作系統(tǒng)規(guī)定的行為。但如使用系統(tǒng)自定義的信息提示框,則不是全屏顯示。如: Afxmessagebox所激發(fā)的提示框就是如此。
可以重載WM_INITDIALOG消息
MSDN:
The DialogBox macro uses the CreateWindowEx function to create the dialog box. DialogBox then sends a WM_INITDIALOG message to the dialog box procedure. The function displays the dialog box (regardless of whether the template specifies the WS_VISIBLE style), disables the owner window, and starts its own message loop to retrieve and dispatch messages for the dialog box.

就是說當(dāng)對話框窗口創(chuàng)建完以后,會發(fā)出一個WM_INITDIALOG 消息,你只要在自己的窗口消息處理函數(shù)里對這個消息進(jìn)行處理,就可以了
比如:

case WM_INITDIALOG:
// Create a Done button and size it.
shidi.dwMask = SHIDIM_FLAGS;
shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN;
shidi.hDlg = hDlg;
SHInitDialog(&shidi);
InitOptionDlg(hDlg);
return TRUE;

主要就是修改shidi.dwFlags ,看看ABOUT的窗口消息處理吧
補(bǔ)充: SHINITDLGINFO shidi;
SHINITDLGINFO shidi;
上面說的是在純API的程序中的方法
對于MFC創(chuàng)建的DIALOG程序,可以這樣:

BOOL CXXXDlg::OnInitDialog()
{

SHINITDLGINFO shidi;
HWND hDlg = m_hWnd;
// Create a Done button and size it.
shidi.dwMask = SHIDIM_FLAGS;
shidi.dwFlags = SHIDIF_SIPDOWN ;
shidi.hDlg = hDlg;
SHInitDialog(&shidi);
//InitOptionDlg(hDlg);
//CDialog::OnInitDialog();
……

}

--------------------------------------------------------------------------------

4.在eVC基于MFC的程序中如何將ToolBar欄隱藏

關(guān)于ToolBar的隱藏:
首先,如果你是用MFC向?qū)?chuàng)建的工程,則默認(rèn)會生成ToolBar,我要說的是,干掉它!自己來創(chuàng)建。:)
First,聲明CToolBar成員變量:
CToolBar * d_pToolbar2;
然后……
static UINT BASED_CODE Toolbar2Buttons[] =
{
// 下面是工具欄對應(yīng)菜單的ID,工具欄圖標(biāo)是我弄的一個Bitmap,其ID為IDR_ADD_TOOLBAR
ID_FILE_NEW,
ID_FILE_OPEN,
ID_FILE_SAVE,
ID_SEPARATOR,
ID_EDIT_CUT,
ID_EDIT_COPY,
ID_EDIT_PASTE,
ID_SEPARATOR,
ID_TRANS_DICT,
ID_TOOLBAR_SHOW, //這是新加入的菜單項,點(diǎn)擊隱藏工具欄,再點(diǎn)擊就顯示工具欄
};
然后……
在CMainFrame的OnCreate()中加入:
OnToolbarCreate();
然后……
void CMainFrame::OnToolbarCreate()
{
// Should only get here if we don't have a toolbar.
ASSERT(d_pToolbar2 == 0);
// Create C++ object and WinAPI window.
d_pToolbar2 = new CToolBar();
d_pToolbar2->Create(this, WS_CHILD | CBRS_BOTTOM |
CBRS_SIZE_FIXED | CBRS_FLOATING,
0x9100);
// Get bitmap and connect to tool items.
d_pToolbar2->LoadBitmap(IDR_ADD_TOOLBAR);
d_pToolbar2->SetButtons(Toolbar2Buttons,
sizeof(Toolbar2Buttons)/sizeof(UINT));
// Make toolbar dockable.
d_pToolbar2->EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(d_pToolbar2);
}
然后……
void CMainFrame::OnToolbarShow()
{
ASSERT(d_pToolbar2 != 0);

// Query current visibility.
BOOL bVisible = (d_pToolbar2->GetStyle() & WS_VISIBLE);

// Show or hide.
int nShow = (bVisible) ? SW_HIDE : SW_SHOWNORMAL;
d_pToolbar2->ShowWindow(nShow);

// Reconfigure remaining toolbar items.
RecalcLayout();

// Store visibility state for later.
d_bToolbarVisible = (!bVisible);
}

void CMainFrame::OnUpdateToolbarShow(CCmdUI* pCmdUI)
{
//This function is signed for checking the menu 'Edit|Show Toolbar'
pCmdUI->Enable(d_pToolbar2 != 0);
int nCheck = (d_bToolbarVisible) ? 1 : 0;
pCmdUI->SetCheck(nCheck);
}

OK,默認(rèn)情況下ToolBar是隱藏的,點(diǎn)擊菜單中的新加入的隱藏/顯示工具欄命令即可來回切換了。

--------------------------------------------------------------------------------

5.如何制作pocket Pc 下的安裝程序?

在C:\Windows CE Tools\wce300\MS Pocket PC\support\ActiveSync\windows ce application installation 下面有例子.
也有其它第三方的安裝工具,比如installshield。

--------------------------------------------------------------------------------

6.怎樣在主界面中顯示一幅圖片

我做了一個小程序, 想在主界面中顯示一幅圖片,我的圖片是.JPG格式的,如果需要轉(zhuǎn)換,用什么工具?

把JPG圖轉(zhuǎn)為BMP圖咯,網(wǎng)上有不少這樣的程序。
然后用LoadBitmap、SelectObject、StretchBlt等語句把BMP圖顯示到VIEW中。


--------------------------------------------------------------------------------

7. 請問,在WinCE下如何截獲所有鼠標(biāo)和鍵盤的消息?

wince下只能用三種鉤子
#define WH_JOURNALRECORD 0
#define WH_JOURNALPLAYBACK 1
#define WH_KEYBOARD_LL 20

--------------------------------------------------------------------------------

8.在Pocket PC下用eVC作的對話框能否做成不是全屏的?

在MFC中

m_bFullScreen = FALSE;


--------------------------------------------------------------------------------

9.如何將char 類型的中文字符串轉(zhuǎn)換成Unicode的字符串?

MultiByteToWideChar,在仿真器中無效;你也可以通過其他方法;用wcsprintf這個函數(shù)


--------------------------------------------------------------------------------

10. evc單文檔界面中,菜單左邊總有一個"new",如何將其去掉?

在MainFrm的OnCreate內(nèi)找到這個:
m_wndCommandBar.m_bShowSharedNewButton = TRUE;
把TRUE改為FALSE

--------------------------------------------------------------------------------

11.Edit出現(xiàn)上下文菜單問題?

近來我看了一下SDK帶的Sample中的Npp,其中它有一個功能就是在EDIT上出現(xiàn)上下文菜單,可是當(dāng)我仿照它在自己的項目中添加此功能時,即在資源中添加CONTROL "",IDC_STATIC,"SIPPREF",NOT WS_VISIBLE,-10,-10、,6,6,在模擬器中正常,但在PDA中不能顯示包含Edit的對話框。而Npp可以在兩者正常顯示。我又在Npp中增加一個對話框,也相應(yīng)的改變資源,結(jié)果是在模擬器和PDA中都能正常顯示。

調(diào)用SHInitExtraControls()應(yīng)該在構(gòu)造函數(shù),不應(yīng)在OnInitDialog中。如果在OnInitDialog中調(diào)用,包含EDIT的對話框?qū)⒉伙@示。
事實(shí)上在XXXApp::InitInstance函數(shù)中調(diào)用更好,這樣只需調(diào)用一次,就萬事大吉。

--------------------------------------------------------------------------------

12. 如何將.mdb數(shù)據(jù)庫轉(zhuǎn)換為.cdb數(shù)據(jù)庫

如何將.mdb數(shù)據(jù)庫轉(zhuǎn)換為.cdb數(shù)據(jù)庫,在沒有實(shí)際PDA,只有Pocket PC Emuliation和EVB的情況下。
Pocket PC Emuliation運(yùn)行時為何提示“存儲器不足,無法完成操作”?

此問題微軟已經(jīng)給出了答案。
在SDK文檔中有一個叫做device的例子程序,它就是將tdb文件轉(zhuǎn)化成cdb文件的,而還有一個desktop的程序,它是將mdb文件轉(zhuǎn)化成tdb文件的。


--------------------------------------------------------------------------------

13.請問如何用EVC建立和調(diào)用DLL

我按照幫助中用MFC開發(fā)DLL的例子做,但是另外一個程序調(diào)用的時候的時候卻出現(xiàn)連接錯誤,說找不到那個函數(shù)。后來看了EVC的例子spintest之后也是這樣。

和在WINDOWS下的一樣
是不是LINK2001 ERROR?
你如果是隱式調(diào)用(就是不用LOADLIBRARY()的),要把你的DLL的LIB文件在PROJECT-->SETTINGS--->LINK--->INPUT里指明。

--------------------------------------------------------------------------------

14.編輯框如何自動會換行 ?

請教,Plam中的table控件,在Wince上怎么做?
就是編輯框自動會換行.當(dāng)你輸入的內(nèi)容超過一行,自動切換到下一行,下面的內(nèi)容自動往下滾。

勾選編輯控件的MultiLine,如果想輸入回車換行,再勾選want renturn

--------------------------------------------------------------------------------

15.是否在adoce,pocket access中的update語句不能執(zhí)行?

ADOCE不能直接執(zhí)行UPDATE語句,但ADOCE有Update方法,你可用它實(shí)現(xiàn)。


--------------------------------------------------------------------------------

16.請問如何在Windows CE中實(shí)現(xiàn)BC++中的inport(...)與outportb(...)函數(shù)功能?

CE下,可以用WINDOWS API函數(shù)來對端口操作。 比較簡單。
API一般只要用到CreateFile(打開端口,串口操作和文件操作只有一點(diǎn)不同就是打開方式不同,所以第三個參數(shù)要用 OPEN_EXISTING )
COMMTIMEOUTS、DCB兩個結(jié)構(gòu)是存放設(shè)置參數(shù)的,可以改
WriteFile、WriteFile(讀寫端口)
因?yàn)榇谕ㄓ嵱玫氖钱惒酵ㄓ崳韵旅鎯删浔容^重要
SetCommMask(指定監(jiān)視的端口事件)
WaitCommEvent(等待端口事件)

--------------------------------------------------------------------------------

17. 如何顯示一個對話框讓用戶選擇一個目錄而不是文件

沒有標(biāo)準(zhǔn)的函數(shù)處理這個,你只好自己實(shí)現(xiàn)活使用第三方的解決方案。


--------------------------------------------------------------------------------

18.有沒有辦法(API)激活或禁止電源保存模式?

參看SystemIdleTimerReset()的安裝文檔。創(chuàng)建一個包含象睡眠的無限循環(huán)的線程,然后調(diào)用SystemIdleTimerReset()。也許有一種中斷線程的辦法就是程序退出。


--------------------------------------------------------------------------------

19. Windows CE的文件名最小程度是多少?

在windef.h定義了MAX_PATH,普遍應(yīng)該是260個字符。

20. 我使用CFileDialog創(chuàng)建了一個瀏覽按鈕,默認(rèn)目錄始終是顯示"All Folders"和在"\My Device\My do***ents"下。怎樣改變初始目錄到"\My Device"。使用fileDlg.m_ofn.lpstrInitialDir = TEXT("file://My/ Device");,但是沒有改變默認(rèn)顯示的目錄。
lpstrInitialDir指向一個指定初始文件目錄的字符串。如果為NULL,將使用系統(tǒng)的根目錄。盡量嘗試一下lpstrInitialDir為NULL。


--------------------------------------------------------------------------------

21.在Pocket PC任務(wù)欄上可能有X和OK按鈕嗎?

不可能,至少沒有象WisBar的第三方工具。


--------------------------------------------------------------------------------

22.如何禁止用戶改變?nèi)掌诤蜁r間?有可能實(shí)現(xiàn)嗎?

你可能用自己的程序替代\windows\clock.exe,但是,它們可以通過另外的程序處理這個。同樣,在同步時ActiveSync改變設(shè)備的時間與PC匹配。


--------------------------------------------------------------------------------

23.  我有一個xscal cpu的ipaq 3970設(shè)備,但是在eMbedded Visual C++ 3.0上沒有目標(biāo)類型。我應(yīng)該在EVC3.0上使用什么類型。這個問題也發(fā)生在安裝程序Cabwiz.exe上。

你可以使用ARM類型。XScal基于ARM體系。


--------------------------------------------------------------------------------

24.  如何使程序在后臺運(yùn)行?

最小化程序?qū)⑹钩绦蜻M(jìn)入后臺,因此只要在程序啟動時最小化,那么它將運(yùn)行在后臺。

補(bǔ)充:還可以做成service。
--------------------------------------------------------------------------------

25.  我準(zhǔn)備去掉SIP按鈕。我在OnInitDialog事件中使用SHFullScreen。然而SIP按鈕仍然可見,忘記做什么了嗎?

代碼如下:

// SHFullScreen fails if dialog box is not foreground.
SetForegroundWindow();
// Go to the full screen mode
SHFullScreen(m_hWnd, SHFS_HIDESIPBUTTON | SHFS_HIDESTARTICON);


不能在OnInitDialog中使用SHFullScreen,因?yàn)閷υ捒蜻€沒有可見。你應(yīng)該傳遞一個自定義消息,在那個消息調(diào)用這個函數(shù)。

也許下面這段代碼會有用:

void PFCSipButtonShow( BOOL bShow )
{
HWND hWnd = ::FindWindow( _T( "MS_SIPBUTTON" ), NULL );
if (hWnd == NULL)
return;

if (bShow)
::ShowWindow( hWnd, SW_SHOW );
else
::ShowWindow( hWnd, SW_HIDE );

} // PFCSipButtonShow


--------------------------------------------------------------------------------

26. 如何在Pocket PC2002模擬器上安裝Pocket PC程序?

PPC2002模擬器沒有模擬ARM處理器,因此你必須有x86 CPU的二進(jìn)制文件和相應(yīng)的安裝程序。只需使用文件瀏覽器復(fù)制cab文件到模擬器,然后執(zhí)行它。商業(yè)程序的安裝包通常不包含x86的二進(jìn)制程序。如果你沒有x86處理器的程序發(fā)布版本,你不能做這個安裝。如果程序是你自己的,你可以創(chuàng)建一個x86的版本,之后創(chuàng)建一個安裝CAB。


--------------------------------------------------------------------------------

27.  如何在eVC程序中讀取普通的圖標(biāo)文件?

在PC程序中使用ExtractIconEx(),但是在Pocket 設(shè)備好象不工作。缺少了什么?PC圖標(biāo)文件在Pocket PC環(huán)境是非法的?或者需要轉(zhuǎn)換格式?

不幸的是,在Pocket PC上沒有API去讀取圖標(biāo)。因此,你不得不手工解析圖標(biāo)文件。

--------------------------------------------------------------------------------

28. 如何繪制一個透明的圓呢?

我想使用eVC++和GDI在Pocket PC 2002上繪制一個圓。我使用它繪制了直線,它處理的很好:

hbrOld =(HBRUSH) SelectObject(hDC, CreatePatternBrush(RGB(0,255,0)));
hpnOld =(HPEN) SelectObject(hDC, CreatePen(PS_SOLID, 2, RGB(255,0,0)));
Ellipse( hDC, 10, 10, 20, 20);
DeleteObject( SelectObject (hDC, hbrOld) );
DeleteObject( SelectObject (hDC, hpnOld) );

但是如何繪制一個透明的圓呢?有PS_NULL這樣畫筆類型嗎?

可以使用GetStockObject()得到一個NULL_BRUSH或HOLLOW_BRUSH(這兩個是相同的)。然后用SelectObject選擇它,就象你已經(jīng)做的那樣。

--------------------------------------------------------------------------------

29.  假定我知道程序的名稱,關(guān)閉運(yùn)行著的eVC的程序使用什么API?

如果你知道程序的名稱,并且假定與主窗口的名稱相同,那么你可以使用FindWindow得到那個窗口的句柄,然后傳送WM_CLOSE消息到那個窗口。

HWND hwnd = FindWindow(NULL, _T("APPLICATION NAME"));
if ( hwnd)
PostMessage(hwnd, WM_DESTROY, 0, 0);


--------------------------------------------------------------------------------

30.  如何從PC設(shè)置PDA的時間?

最簡單的辦法是寫一個自定義的RAPI函數(shù),通過CeRapi調(diào)用設(shè)備的SetSystemTime.


--------------------------------------------------------------------------------

31.  怎樣使用WriteBinary,我不明白第二個參數(shù)(LPBYTE):

BOOL CVORegistry::WriteBinary(LPCTSTR pcszKey, LPBYTE pData, DWORD cbData)

第二個參數(shù)是指向包含你想寫到注冊表的二進(jìn)制數(shù)據(jù)的緩沖。

BYTE data[] = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef };
extern CVORegistry reg;
reg.WriteData(_T("BinaryData"), data, sizeof(data));

--------------------------------------------------------------------------------

32.  Windows CE支持鉤子API嗎?這樣我們可以監(jiān)視需要的時間。如果支持,用法也象Windows 2000那樣嗎?

壞消息:CE不支持鉤子。
系統(tǒng)不支持,我們還是可以想其他辦法的……



--------------------------------------------------------------------------------

33.  我不能使用Pocket PC上CDialog的TitleBar,我能用靜態(tài)文本框控件替代,使之與TitleBar相似。有辦法顯示TitleBar嗎?

大多數(shù)Pocket PC上的對話框是全屏的,沒有自己的主題欄,而是使用系統(tǒng)任務(wù)欄。你可以創(chuàng)建一個非全屏對話框(象消息框那樣)。


--------------------------------------------------------------------------------

34.  如何在程序中關(guān)閉(suspend)Pocekt PC?

方法1:虛擬關(guān)機(jī)鍵
::keybd_event(VK_OFF, 0, 0, 0);
::keybd_event(VK_OFF, 0, KEYEVENTF_KEYUP, 0);

方法2:調(diào)用未公開函數(shù)PowerOffSystem()
extern "C" __declspec(dllimport) void PowerOffSystem();


--------------------------------------------------------------------------------

35.  如何在程序中重啟(soft reset)Pocket PC?

#include
#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
extern "C" __declspec(dllimport) BOOL KernelIoControl(
DWORD dwIoControlCode,
LPVOID lpInBuf,
DWORD nInBufSize,
LPVOID lpOutBuf,
DWORD nOutBufSize,
LPDWORD lpBytesReturned);
BOOL ResetPocketPC()
{
return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}


--------------------------------------------------------------------------------

36. 如何在程序中硬啟動(hardware reset)Pocekt PC?

注意:使用此段代碼會將您的Pocket PC的用戶數(shù)據(jù)全部清空。

#include
#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
extern "C" __declspec(dllimport)void SetCleanRebootFlag(void);
extern "C" __declspec(dllimport) BOOL KernelIoControl(
DWORD dwIoControlCode,
LPVOID lpInBuf,
DWORD nInBufSize,
LPVOID lpOutBuf,
DWORD nOutBufSize,
LPDWORD lpBytesReturned);
BOOL HardResetPocketPC()
{
SetCleanRebootFlag();
return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}


--------------------------------------------------------------------------------

37.  以下方法信息不全,無法使用:

1.系統(tǒng)不認(rèn)識VK_OFF
2.使用哪個dll 和 lib文件?


·  如何在程序中關(guān)閉(suspend)Pocekt PC?

方法1:虛擬關(guān)機(jī)鍵
::keybd_event(VK_OFF, 0, 0, 0);
::keybd_event(VK_OFF, 0, KEYEVENTF_KEYUP, 0);

方法2:調(diào)用未公開函數(shù)PowerOffSystem()
extern \"C\" __declspec(dllimport) void PowerOffSystem();

關(guān)閉(suspend)
方法1:
//虛擬關(guān)機(jī)鍵
::keybd_event(VK_OFF, 0, 0, 0);
::keybd_event(VK_OFF, 0, KEYEVENTF_KEYUP, 0);

方法2:
//調(diào)用未公開函數(shù)PowerOffSystem()
extern "C" __declspec(dllimport) void PowerOffSystem();


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C++ 判斷進(jìn)程是否存在
第十二章 對話框和對話框類CDialog
MFC 自繪
利用窗口子類化隱藏系統(tǒng)圖標(biāo)
Ring3下無驅(qū)動移除winlogon.exe進(jìn)程ctrl+alt+del,win+u, win7中無效
VC Invalidate InvalidateRect UpdateWindow
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服