Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Microsoft 2007数据库应用程序HTML帮助打开多个chm文件实例

Microsoft 2007数据库应用程序HTML帮助打开多个chm文件实例
EN

Stack Overflow用户
提问于 2014-08-07 04:44:55
回答 1查看 1.2K关注 0票数 0

我们使用HTML工作室创建了帮助文件(.chm),

在Access 2007数据库表单属性中,我们设置了"Help File“= HelpApp.chm和"Help Context ID”propertiey = 1001,因此当我们按下F1时,它就会用这个上下文ID打开帮助文件。

问题是,当我们多次按F1 (每次针对不同的表单或帮助主题)时,它会打开帮助文件的多个实例。我还观察到,如果我多次按同一表单上的F1,它也会打开多个实例。

我们不希望创建多个帮助文件实例。

如何防止打开帮助文件的多个实例?

数据库应用程序正在开发的Microsoft 2007,.accdb文件格式。

正在创建的帮助文件HTML帮助讲习班4.74.8702.0

我搜索了internet,但是在Microsoft应用程序中没有有多个帮助文件实例打开的文章。但是有一篇文章讨论了C#应用程序,

How do I limit my Windows application to spawning a single instance of a process?

我不知道是否有上述解决方案,检查流程是否已经退出?还是ProcessStartInfo?但我需要这个在VBA。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-11 11:06:00

这个问题很困难,取决于如何调用帮助。您必须提供更多信息和调用VBA代码。在将Access窗口移动到一个新位置之后,我只看到过一次帮助窗口的多个实例的问题,然后按下F1按钮。但再也没见过。

我记得有一件事是hh.dat的问题。hh.dat文件将用户特定的信息存储在系统上的所有HTMLHelp文件(*.CHM)上(位置、最喜欢的主题、搜索历史记录等),如果它已经损坏,可能会导致错误。删除或重命名文件hh.dat以重置所有(!)将系统上的CHM窗口设置为默认设置。您应该在这个目录中找到hh.dat:

\文档和设置\%用户名%\应用程序数据\Microsoft\HTML帮助或

C:\Users\%username%\AppData\Roaming\Microsoft\HTML帮助

当您下次打开任何hh.dat文件时,Windows将创建一个新版本的.chm。

尝试将F1设置为AutoKeys (请参阅快照)。

添加一个由HTMLHelp API调用帮助的模块(请参阅代码示例):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Option Compare Database
Option Explicit

'******************************************************************************
'----- Modul - definition for HTMLHelp - (c) Ulrich Kulle, www.help-info.de
'----- 2014-08-26 Version 0.1.9000
'******************************************************************************

Declare Function IsWindow Lib "user32.dll" (ByVal hWnd As Long) As Long

Private Declare Function SendMessage Lib "user32" _
 Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
 ByVal wParam As Long, lParam As Any) As Long

Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
                (ByVal hwndCaller As Long, ByVal pszFile As String, _
                ByVal uCommand As Long, ByVal dwData As Long) As Long

Declare Function HTMLHelpTopic Lib "hhctrl.ocx" Alias "HtmlHelpA" _
         (ByVal hwndCaller As Long, ByVal pszFile As String, _
         ByVal uCommand As Long, ByVal dwData As String) As Long

Private Declare Function HtmlHelpSearch Lib "hhctrl.ocx" Alias "HtmlHelpA" _
        (ByVal hwndCaller As Long, ByVal pszFile As String, _
        ByVal uCommand As Long, dwData As HH_FTS_QUERY) As Long

'--- to keep the handle of the HH windows when calling help by API --------
Public HHwinHwnd As Long

'--- some constants used by the API ---------------------------------------
Public Const HH_DISPLAY_TOPIC = &H0     ' select last opened tab, [display a specified topic]
Public Const HH_DISPLAY_TOC = &H1       ' select contents tab, [display a specified topic]
Public Const HH_DISPLAY_INDEX = &H2     ' select index tab and searches for a keyword
Public Const HH_DISPLAY_SEARCH = &H3    ' select search tab and perform a search

Public Const HH_HELP_CONTEXT = &HF      ' display mapped numeric value in dwData

Public Const HH_CLOSE_ALL = &H12

Public Type HH_FTS_QUERY                ' UDT for accessing the Search tab
  cbStruct          As Long             ' Sizeof structure in bytes.
  fUniCodeStrings   As Long             ' TRUE if all strings are unicode.
  pszSearchQuery    As String           ' String containing the search query.
  iProximity        As Long             ' Word proximity.
  fStemmedSearch    As Long             ' TRUE for StemmedSearch only.
  fTitleOnly        As Long             ' TRUE for Title search only.
  fExecute          As Long             ' TRUE to initiate the search.
  pszWindow         As String           ' Window to display in
End Type

Public Function HFile(ByVal i_HFile As Integer) As String
'----- Set the string variable to include the application path of helpfile
  Select Case i_HFile

  '//--- default help file
  Case 1
    HFile = CurrentProject.Path & "\CHM-example.chm"
  Case 2
'----- Place other Help file paths in successive case statements
    HFile = CurrentProject.Path & "\CHM-example.chm"
  End Select
End Function

Public Sub OpenHelp(strHelpFile As String, lngID As Long)
    Dim hWnd As Long
    Dim strHelpFile As String
    strHelpFile = CurrentProject.Path & "\CHM-example.chm"
    hWnd = HtmlHelp(Application.hWndAccessApp, strHelpFile, HH_DISPLAY_TOC, lngID)
End Sub

Public Function CallHelp()
'//--- TEST invoking help with different methods ----------------------------------
    'OpenHelp strHelpFile, 20010
    'ShowContents 1
    'ShowIndex 1
    'ShowSearch 1
    If Screen.ActiveForm.Name = "Coordinates-Form-1" Then
        MsgBox Screen.ActiveForm.Name
        ShowTopicID 1, 10010
    ElseIf Screen.ActiveForm.Name = "Coordinates-Form-2" Then
        MsgBox Screen.ActiveForm.Name
        ShowTopicID 1, 20010
    Else
        ShowContents 1
    End If
End Function

Public Sub ShowContents(ByVal intHelpFile As Integer)
    HHwinHwnd = HtmlHelp(Application.hWndAccessApp, HFile(intHelpFile), HH_DISPLAY_TOC, 0)
End Sub

Public Sub ShowIndex(ByVal intHelpFile As Integer)
    HHwinHwnd = HtmlHelp(Application.hWndAccessApp, HFile(intHelpFile), HH_DISPLAY_INDEX, 0)
End Sub

Public Sub ShowTopic(ByVal intHelpFile As Integer, strTopic As String)
    HHwinHwnd = HTMLHelpTopic(Application.hWndAccessApp, HFile(intHelpFile), HH_DISPLAY_TOPIC, strTopic)
End Sub

Public Sub ShowTopicID(ByVal intHelpFile As Integer, IdTopic As Long)
    HHwinHwnd = HtmlHelp(Application.hWndAccessApp, HFile(intHelpFile), HH_HELP_CONTEXT, IdTopic)
End Sub

'------------------------------------------------------------------------------
'----- display the search tab
'----- bug: start searching with a string dosn't work
'------------------------------------------------------------------------------
Public Sub ShowSearch(ByVal intHelpFile As Integer)
Dim searchIt As HH_FTS_QUERY
  With searchIt
    .cbStruct = Len(searchIt)
    .fUniCodeStrings = 1&
    .pszSearchQuery = "foobar"
    .iProximity = 0&
    .fStemmedSearch = 0&
    .fTitleOnly = 1&
    .fExecute = 1&
    .pszWindow = ""
  End With
  Call HtmlHelpSearch(0&, HFile(intHelpFile), HH_DISPLAY_SEARCH, searchIt)
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25182899

复制
相关文章
Fix My iPhone for Mac(iOS系统修复软件)
Fix My iPhone Mac版是一款运行在MacOS上的iOS系统修复软件,可以帮助你修复您的iPhone卡在Apple徽标,黑屏,冻结屏幕,iTunes更新/还原错误和超过20个iOS 12升级失败等问题!
用户10121095
2023/02/10
5650
在github的某次commit中close或者fix某个issue
当你在某次提交解决了其他人提出的issue时,你可以使用github中的语法实现自动操作。
老高的技术博客
2022/12/28
1K0
安装Python3.7.0
2.Download-Files根据自己的需要选择Windows版本或其他版本等,下图是Windows64位的
py3study
2020/01/09
3650
Elasticsearch 断路器报错了,怎么办?
这是系列文章的第三篇,主要探讨:Elasticsearch 断路器报错了,怎么办?
铭毅天下
2022/04/06
1.7K0
Elasticsearch 断路器报错了,怎么办?
函数表达式在JavaScript中是如何工作的?
在JavaScript中,函数表达式是一种将函数赋值给变量的方法。函数表达式可以出现在代码的任何位置,而不仅仅是函数声明可以出现的位置。函数表达式的语法如下:
王小婷
2023/10/23
2280
如何修复Vue中的 “this is undefined” 问题
别担心,不只有你一个人,我也经常遇到这个问题很多次,接下我们一起来看看如何解决这个问题。
前端小智@大迁世界
2020/05/12
5K0
贴心 | GXF Fix 修复 / 优化基因结构注释信息文件 - GTF/GFF3
目前基因组测序和组装成本几乎已经到任何一个课题组都可以单独负担的价码,大量物种的基因组序列被测定和释放。与此同时,对应的基因结构注释信息文件,如GTF或GFF3文件等,也可公开下载。
CJ-Chen
2021/04/13
1.5K0
贴心 | GXF Fix 修复 / 优化基因结构注释信息文件 - GTF/GFF3
fix bug:Spring中事务不生效的问题
@Transactional(propagation = Propagation.REQUIRES_NEW)
关忆北.
2021/12/07
7580
PrestaShop 网站漏洞修复如何修复
PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多,PrestaShop扩展性较高,模板也多,多种货币自由切换,并支持信用卡以及paypal支付,是外贸网站的首选。就在最近几天,PrestaShop被爆出有远程代码注入漏洞,该漏洞影响范围较光,危害较大,可以上传webshell到网站根目录下。
网站安全专家
2019/07/24
4.2K0
PrestaShop 网站漏洞修复如何修复
PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多,PrestaShop扩展性较高,模板也多,多种货币自由切换,并支持信用卡以及paypal支付,是外贸网站的首选。就在最近几天,PrestaShop被爆出有远程代码注入漏洞,该漏洞影响范围较光,危害较大,可以上传webshell到网站根目录下。
技术分享达人
2019/01/01
4.1K0
matlab中的ezplot函数详解_matlab中fix函数的用法
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说matlab中的ezplot函数详解_matlab中fix函数的用法,希望能够帮助大家进步!!!
Java架构师必看
2022/09/23
1.8K0
matlab中的ezplot函数详解_matlab中fix函数的用法
Linux下python3.7.0安装
1、安装依赖包 1)首先安装gcc编译器,gcc有些系统版本已经默认安装,通过  gcc --version  查看,没安装的先安装gcc,yum -y install gcc,由于本人的linux系统中已经安装了,出现了下面界面。
py3study
2020/01/10
10K0
Linux下python3.7.0安装
Fix No Sound Issue on Mac
Now I am dealing with Mac OSX. However I found sometimes this is no sound. People say it’s a bug. I have tried some methods. And found this goes for me every time.
技术小黑屋
2018/09/04
4470
如何在MySQL中检查和修复MyISAM表
由于写入不完整,空间不足,MySQL守护程序被杀或崩溃,电源故障等原因,MySQL表可能因各种原因而损坏。 如果MySQL检测到崩溃或损坏的表,则需要先修复它才能再次使用。 本指南将引导您检测崩溃的表以及如何修复MyISAM表。
星哥玩云
2022/08/17
2.2K0
SyntaxError:keyword can't be an expression
def build_profile(first_name,last_name,*messages):
用户6080811
2019/08/21
1.3K0
Java 中正则表达式如何匹配竖线(|) , 以及在 Kotlin 中是如何改进的?
因为 | 在正则表达式中是或的概念,要想匹配就得用转移字符 "|" 但是 "" 又是java的转移字符,要让其在正则中起作用,就得使用: "\|"
一个会写诗的程序员
2019/07/18
2.4K0
如何修复Windows 10中损坏的系统文件!
相信大家用电脑的都遇到过这样的情况:电脑在启动过程中感觉有问题或遇到问题,这时候则Windows系统文件可能已损坏,丢失,甚至已被某个软件安装更改。与之前的大多数Windows版本一样,Windows 10包含一个名为「SFC」的命令提示实用程序,它将扫描,验证和修复系统文件。
FreeRonin
2019/08/22
9.6K0
【DB笔试面试791】在Oracle中,BBED模拟修复坏块。
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
AiDBA宝典
2020/05/07
5770
在 Java 中运用动态挂载实现 Bug 的热修复
大多数 JVM 具备 Java 的 HotSwap 特性,大部分开发者认为它仅仅是一个调试工具。利用这一特性,有可能在不重启 Java 进程条件下,改变 Java 方法的实现。典型的例子是使用 IDE 来编码。然而 HotSwap 可以在生产环境中实现这一功能。通过这种方式,不用停止运行程序,就可以扩展在线的应用程序,或者在运行的项目上修复小的错误。这篇文章中,我将演示动态绑定、应用运行期代码变化进行绑定、介绍一些工具 API 以及 Byte Buddy 库,这个库提供了一些 API 代码改变更方便。
哲洛不闹
2018/09/14
1.1K0
在 Java 中运用动态挂载实现 Bug 的热修复
Jar mismatch! Fix your dependencies
  在开发Android项目的时候,有时需要引用多个项目作为library。在引用项目的时候,有时会出现“Jar mismatch! Fix your dependencies”错误。 这是因为两个
xiangzhihong
2018/01/29
7480

相似问题

何时从MYSQL DB for Codeigniter检索数据

30

使用Mysql从DB检索时间戳数据

11

使用日期比较从mysql DB检索数据

614

使用java从MySQL DB中检索数据

11

swing从mysql db检索数据到textfield

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文