2010-05-17 78 views

回答

3

你不能像其他人所说的那样将EXE从访问数据库中提取出来,但是你可以用很长的一段时间来隐藏应用程序被写入访问的事实。例如,你可以...

  • 添加自定义开机画面

要做到这一点只保存BMP文件在同一文件夹作为您的数据库,并调用它完全相同的文件名,即MyDatabase.BMP。当访问启动而不是看到访问启动画面时,您将看到您的自定义窗口。

  • 更改任务栏图标

在您的数据库去工具启动和更改应用程序图标到您选择

  • 变化表单的图标的图标

您可以将表单上的图标从标准访问权限更改为您喜欢的任何内容,将此代码粘贴到模块中

Option Compare Database 
Option Explicit 

Private Declare Function LoadImage Lib "user32" _ 
    Alias "LoadImageA" _ 
    (ByVal hInst As Long, _ 
    ByVal lpsz As String, _ 
    ByVal un1 As Long, _ 
    ByVal n1 As Long, _ 
    ByVal n2 As Long, _ 
    ByVal un2 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 GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long 

Private Const WM_SETICON = &H80 
Private Const IMAGE_ICON = 1 
Private Const LR_LOADFROMFILE = &H10 
Private Const SM_CXSMICON As Long = 49 
Private Const SM_CYSMICON As Long = 50 

Public Function SetFormIcon(hwnd As Long, strIconPath As String) As Boolean 
    Dim lIcon As Long 
    Dim lResult As Long 
    Dim x As Long, y As Long 

    x = GetSystemMetrics(SM_CXSMICON) 
    y = GetSystemMetrics(SM_CYSMICON) 
    lIcon = LoadImage(0, strIconPath, 1, x, y, LR_LOADFROMFILE) 
    lResult = SendMessage(hwnd, WM_SETICON, 0, ByVal lIcon) 
End Function 

然后,你可以这样调用的形式OnOpen事件

SetFormIcon Me.hwnd, (“C:\Stuff\NewIcon.ico") 
+0

现在这是一个很好的答案 – 2010-05-17 13:07:23

+0

为什么没有关于运行时?如果.NET应用程序可以依赖要在计算机上安装的MB文件来运行,那么为什么Access运行时不会完全相同,EXE扩展除外? – 2010-05-17 22:07:39

1

不,这在MS Access中不可行。

您需要创建一个VB/VB.NET可执行文件并在那里重新实现您的UI代码,并将数据连接指向Access数据库后端。

相关问题