有没有把(DOS下的编译器)编译过程全部“隐藏”的办法

Gujianda 2007-09-18 06:52:40
出发点很可怜:保护自己的劳动成果,希望能"隐藏"编译过程中用到的(自己的)库。

目前,所有想隐藏的东西已(我只会)通过资源“集成”到VB程序中,但编译时,编译程序和连接程序的命令行参数是原文件的磁盘路径,所以必须把隐藏的东西释放到硬盘里,虽然做完后可以立即删除,但毕竟“露”了马脚!

我所知道的“管道”技术、“内存映射文件”等统统解决不了,难道非得自己写编译器和连接器?可后者不是闹着玩的,本人根本不敢想。
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
WuYunpeng 2007-09-23
  • 打赏
  • 举报
回复
或者你自己开发一种编译器
WuYunpeng 2007-09-23
  • 打赏
  • 举报
回复
用完就删除
Gujianda 2007-09-20
  • 打赏
  • 举报
回复
谢谢,不是隐藏运行程序的问题,而是希望:
1,编译输出的 *.OBJ 文件留在内存里,而不是输出到磁盘上;
2,连接需要的 *.LIB 文件留在内存里,而不是输出到磁盘上;
关键是那个库文件(*.LIB),乃个人的劳动成果,希望能彻头彻尾隐藏!
WuYunpeng 2007-09-18
  • 打赏
  • 举报
回复
Option Explicit
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function IsWindow Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Const SW_HIDE = 0
Const SW_SHOW = 5
Dim winName As String
Dim hWindow As Long

Private Sub Timer1_Timer()
winName = String(255, 0)
hWindow = GetForegroundWindow()
Call GetWindowText(hWindow, winName, 255)
winName = Left(winName, InStr(winName, Chr(0)) - 1)
If winName = "Form1" Then '引号里的Form1换成你要的窗口名
If IsWindow(hWindow) = 0 Then Exit Sub
Call ShowWindow(hWindow, SW_HIDE)
End If
End Sub
WuYunpeng 2007-09-18
  • 打赏
  • 举报
回复
说的不够详细,用WinAPI函数可以把任何窗口隐藏起来
获得前台窗口的句柄,再获得其标题,如果是你要的那个窗口,就将其隐藏
或者在运行时就将其隐藏
Gujianda 2007-09-18
  • 打赏
  • 举报
回复
自己顶一下!
呵呵,虽然非君子所为。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧