Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

返回列表 發(fā)新帖
查看: 5222|回復(fù): 9
打印 上一主題 下一主題

[窗體] 求助調(diào)用和關(guān)閉外部屏幕軟鍵盤程序的方法。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2012-12-17 12:37:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
求助:
1、當(dāng)Text2獲得焦點(diǎn)時(shí),自動(dòng)打開(kāi)軟鍵盤,并可在Text2框內(nèi)輸入內(nèi)容。
2、當(dāng)Text2失去焦點(diǎn)時(shí),自動(dòng)關(guān)閉軟件盤。
3、當(dāng)窗體1關(guān)閉時(shí),如果軟鍵盤仍然為打開(kāi)狀態(tài),則隨著窗體1的關(guān)閉而同時(shí)關(guān)閉和退出。

見(jiàn)示例

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享分享 分享淘帖2 訂閱訂閱

點(diǎn)擊這里給我發(fā)消息

2#
發(fā)表于 2012-12-17 15:47:51 | 只看該作者
沙發(fā)..正需要這方面的..希望高手可以幫忙解決.

點(diǎn)擊這里給我發(fā)消息

3#
發(fā)表于 2012-12-17 16:14:53 | 只看該作者
獲得焦點(diǎn)即可輸入是可以解決的,
Call Shell(CurrentProject.Path & "\SoftBoard.exe", 1)
Me.Text2.SetFocus



關(guān)閉到目前為止我也還是在找的..

點(diǎn)擊這里給我發(fā)消息

4#
發(fā)表于 2012-12-18 09:58:34 | 只看該作者

修改后的.不過(guò)目前所學(xué)只能通過(guò)調(diào)用外部命令運(yùn)行..希望對(duì)你有所幫助.也借此感謝tanghong 江羽.以及那些一直在默默幫助他人的人們.感謝你們.

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x

點(diǎn)擊這里給我發(fā)消息

5#
發(fā)表于 2012-12-18 10:30:11 | 只看該作者
這個(gè)感覺(jué)用API肯定可以搞定,可惜我不太懂。
要不就自己在ACCESS里搞個(gè)鍵盤得了,別用外部程序。

點(diǎn)擊這里給我發(fā)消息

6#
發(fā)表于 2012-12-18 11:02:52 | 只看該作者
用API的方法如下:
  1. Private Declare Function SetFocusAPI& Lib "user32" Alias "SetFocus" (ByVal hwnd As Long)
  2. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  3. Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

  4. Dim mpID As Long

  5. Private Sub Text2_GotFocus()
  6. On Error Resume Next
  7.     mpID = Shell(CurrentProject.Path & "\SoftBoard.exe", 1)
  8.     DoEvents
  9.     SetFocusAPI Me.hwnd
  10. End Sub

  11. Private Sub Text2_LostFocus()
  12.     Dim hP As Long
  13.     If mpID <> 0 Then
  14.         hP = OpenProcess(1&, -1&, mpID)
  15.         If TerminateProcess(hP, 1) <> 0 Then mpID = 0 '強(qiáng)制關(guān)閉程序
  16.     End If
  17. End Sub
復(fù)制代碼

點(diǎn)擊這里給我發(fā)消息

7#
發(fā)表于 2012-12-18 13:33:59 | 只看該作者
果然。學(xué)到了。
8#
發(fā)表于 2012-12-18 14:34:34 | 只看該作者
牛叉的功能
9#
 樓主| 發(fā)表于 2012-12-19 00:03:04 | 只看該作者
t小寶 發(fā)表于 2012-12-18 11:02
用API的方法如下:

太感謝了,完全是我所需要的效果。

點(diǎn)擊這里給我發(fā)消息

10#
發(fā)表于 2012-12-19 09:30:25 | 只看該作者
學(xué)習(xí)了..不過(guò)最簡(jiǎn)單,最土的辦法還是調(diào)用外部程序..呵呵.謝謝分享..
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 08:23 , Processed in 0.197097 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表