24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 838  |  回复: 10

小快乐小知足

金虫 (初入文坛)

[求助] VC++6.0求助

用VC++6.0做了两个工程文件工程1.exe和工程2.exe,运行工程1时,可以转入工程2中继续运行,运行完还能回到工程1中.我两个工程文件是放在一个文件夹中,两个工程现在是可以分别打开运行的,"问题是我想只能从工程1进入,然后从1中再调用2运行,不想工程2能直接运行,只有通过1的调用(而且只有放在一个文件夹下工程1才能调用工程2).要怎样才能使工程2不能直接打开运行呢?"
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jmck99

新虫 (初入文坛)

把工程2写成dll
2楼2012-10-04 02:19:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小快乐小知足

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by jmck99 at 2012-10-04 02:19:20
把工程2写成dll

在dll中很多功能我实现不了.
3楼2012-10-04 09:36:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
工程1中创建mutex工程2去读取这个,读取不到就退出
一般软件禁止双开都是这么干的,不过那种是能检测到就退出,和这个相反
4楼2012-10-05 00:16:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

用到的API
    HANDLE OpenMutex(

    DWORD dwDesiredAccess,        // access flag
    BOOL bInheritHandle,        // inherit flag
    LPCTSTR lpName         // pointer to mutex-object name
   );

HANDLE CreateMutex(

    LPSECURITY_ATTRIBUTES lpMutexAttributes,        // pointer to security attributes
    BOOL bInitialOwner,        // flag for initial ownership
    LPCTSTR lpName         // pointer to mutex-object name  
   );

BOOL ReleaseMutex(

    HANDLE hMutex         // handle of mutex object  
   );
5楼2012-10-05 00:19:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小快乐小知足

金虫 (初入文坛)

引用回帖:
5楼: Originally posted by anntoy at 2012-10-05 00:19:39
用到的API
    HANDLE OpenMutex(

    DWORD dwDesiredAccess,        // access flag
    BOOL bInheritHandle,        // inherit flag
    LPCTSTR lpName         // pointer to mutex-object name
   );

HANDLE Create ...

我不怎么会用这个?能麻烦你说细一点吗?谢谢了!!!!!
6楼2012-10-05 10:52:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小快乐小知足

金虫 (初入文坛)

引用回帖:
6楼: Originally posted by 小快乐小知足 at 2012-10-05 10:52:55
我不怎么会用这个?能麻烦你说细一点吗?谢谢了!!!!!...

补充:我建的两个工程都是"MFC AppWizard(exe)"
7楼2012-10-05 18:30:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小快乐小知足

金虫 (初入文坛)

引用回帖:
5楼: Originally posted by anntoy at 2012-10-05 00:19:39
用到的API
    HANDLE OpenMutex(

    DWORD dwDesiredAccess,        // access flag
    BOOL bInheritHandle,        // inherit flag
    LPCTSTR lpName         // pointer to mutex-object name
   );

HANDLE Create ...

我不怎么会用这个?能麻烦你说细一点吗?谢谢了!!!!!
补充:我建的两个工程都是"MFC AppWizard(exe)"
8楼2012-10-05 18:31:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

引用回帖:
8楼: Originally posted by 小快乐小知足 at 2012-10-05 18:31:47
我不怎么会用这个?能麻烦你说细一点吗?谢谢了!!!!!
补充:我建的两个工程都是"MFC AppWizard(exe)"...

等晚上回去,我给你写写试试吧,这里没有vc环境
9楼2012-10-05 19:44:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小快乐小知足: 金币+25, ★★★★★最佳答案 2012-10-06 09:27:40
引用回帖:
8楼: Originally posted by 小快乐小知足 at 2012-10-05 18:31:47
我不怎么会用这个?能麻烦你说细一点吗?谢谢了!!!!!
补充:我建的两个工程都是"MFC AppWizard(exe)"...

两个工程都是dialog based,很简单,创建之后修的地方有
A工程:
aDlg.h文件中
CODE:
class CADlg : public CDialog
{
// Construction
public:
        CADlg(CWnd* pParent = NULL);        // standard constructor
        HANDLE mutexhandle;

mutexhandle为添加的一个全局变量
aDlg.cpp文件
CODE:
void CADlg::OnDestroy()
{
        CDialog::OnDestroy();
        CloseHandle(mutexhandle);/*这行是增加的,退出的时候关闭句柄*/
        // TODO: Add your message handler code here
}

CODE:
BOOL CADlg::OnInitDialog()
{
        CDialog::OnInitDialog();
        /*此处省略一部分代码,下面那行是添加的,程序初始化的时候,初始化那个mutex*/
        // TODO: Add extra initialization here
        mutexhandle = CreateMutex(NULL,TRUE,"MyMutex");

        return TRUE;  // return TRUE  unless you set the focus to a control
}

当然了,还有这里,点按钮的时候运行B
CODE:
void CADlg::OnButton1()
{
        // TODO: Add your control notification handler code here
        WinExec("b.exe",SW_SHOW        );
}

b工程中修改就少了,只有bDlg.cpp需要修改,也是初始化函数
CODE:
BOOL CBDlg::OnInitDialog()
{
        /*省略部分代码,下面是初始化的时候,判断有没有被创建过mutex,如果还没有,就退出*/
        // TODO: Add extra initialization here
        int ret;
        HANDLE h;
        h = CreateMutex(NULL,FALSE,"MyMutex");
        ret = GetLastError();
        CloseHandle(h);
        if(ERROR_ALREADY_EXISTS != ret)
                ExitProcess(0);
        return TRUE;  // return TRUE  unless you set the focus to a control
}

aa.rar(47.17KB)
http://kuai.xunlei.com/d/GAKJFLKFPEFK?p=130497
10楼2012-10-06 01:22:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小快乐小知足 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 277求调剂 +3 12A3 2026-04-02 3/150 2026-04-02 21:30 by swb0218
[考研] 一志愿哈尔滨工业大学材料与化工方向336分 +14 辰沐5211314 2026-03-26 14/700 2026-04-02 21:12 by 1104338198
[考研] 298求调剂 +4 zzz,,r 2026-04-02 7/350 2026-04-02 18:57 by 1939136013狗壮
[考研] 环境工程297分求调剂一志愿杭高院 +15 GENJIOW 2026-03-31 16/800 2026-04-02 17:56 by cyh—315
[考研] 310求调剂 +17 争取九点睡 2026-03-30 17/850 2026-04-02 16:40 by guanxin1001
[考研] 材料工程322分 +8 哈哈哈吼吼吼哈 2026-04-01 8/400 2026-04-02 11:53 by 3041
[考研] 324分 085600材料与化工 +20 呆鹅oor 2026-03-27 20/1000 2026-04-02 10:13 by oooqiao
[考研] 372求调剂 +3 jj涌77 2026-04-02 3/150 2026-04-02 09:57 by olim
[考研] 266分,一志愿电气工程,本科材料,求材料专业调剂 +10 哇呼哼呼哼 2026-04-01 11/550 2026-04-01 21:48 by chyhaha
[考研] 284求调剂 +12 小熊~~ 2026-03-31 12/600 2026-04-01 20:23 by 花??
[考研] 0703求调剂 +4 zizimo 2026-03-31 4/200 2026-04-01 16:04 by yanflower7133
[硕博家园] 博一被送出联培感觉不适应怎么办 +3 全村的狗 2026-03-31 3/150 2026-04-01 10:44 by 328838485
[考研] 288资源与环境专硕求调剂,不限专业,有学上就行 +25 lllllos 2026-03-30 26/1300 2026-04-01 09:52 by 一只好果子?
[考研] 301求调剂 +8 axibli 2026-04-01 8/400 2026-04-01 09:51 by 我的船我的海
[考研] 335求调剂 +3 321* 2026-03-31 4/200 2026-04-01 00:00 by 321*
[考研] 286求调剂 +6 Faune 2026-03-30 6/300 2026-03-31 14:37 by jp9609
[考研] 一志愿华中师范化学332分求调剂 +3 Lyy930824@ 2026-03-29 3/150 2026-03-30 20:15 by DHUSHUAI
[有机交流] 考研调剂 +8 watb 2026-03-26 8/400 2026-03-30 18:40 by 544594351
[考研] 085602 化学工程专硕 340分求调剂 +4 qianbai11 2026-03-29 4/200 2026-03-30 11:34 by 唐沐儿
[考研] 求佛 +7 迷人的哈哈 2026-03-28 7/350 2026-03-28 16:47 by 催化大白
信息提示
请填处理意见