关于GetActiveObject,如何判断所取得对象的类型、、、可以用来检测某个程序是否运行

来源:互联网 发布:学会计哪个软件好 编辑:程序博客网 时间:2024/06/06 00:09
 

Answer关于GetActiveObject,如何判断所取得对象的类型

 

可以用来检测某个程序是否运行 

Ask a questionAsk a question
  • Tuesday, 21 October 2008 2:11 AM
    Avatar of alpha-sun
    alpha-sun
    Avatar of alpha-sun

    alpha-sun

    25
    Recent Achievements000
    No Achievements Earned. Learn How!
    25
     
     
    Sign In to Vote
    0
    Sign In to Vote

     

    比如,word或ppt等
    • Moved bySheng Jiang 蒋晟MVP, ModeratorTuesday, 3 February 2009 6:00 AMOffice开发 (从 Visual C++ 移动到 Office Business Application)
    •  

Answers

  • Tuesday, 21 October 2008 4:05 AM
    Avatar of Sheng Jiang 蒋晟
    Sheng Jiang 蒋晟
    Avatar of Sheng Jiang 蒋晟

    Sheng Jiang 蒋晟

    MVP

    104,520
    Recent Achievements1364
    Proposed Answerer IForums Curator IIForums Curator I
    (MVP)
    104,520
    Moderator
     
     Answer
    Sign In to Vote
    0
    Sign In to Vote
    IOleObject::GetUserClassID
    • Marked As Answer by宋翔MVP, ModeratorSunday, 10 April 2011 6:20 PM
    •  

All Replies

  • Tuesday, 21 October 2008 4:05 AM
    Avatar of Sheng Jiang 蒋晟
    Sheng Jiang 蒋晟
    Avatar of Sheng Jiang 蒋晟

    Sheng Jiang 蒋晟

    MVP

    104,520
    Recent Achievements1364
    Proposed Answerer IForums Curator IIForums Curator I
    (MVP)
    104,520
    Moderator
     
     Answer
    Sign In to Vote
    0
    Sign In to Vote
    IOleObject::GetUserClassID
    • Marked As Answer by宋翔MVP, ModeratorSunday, 10 April 2011 6:20 PM
    •  
  • Tuesday, 21 October 2008 5:16 AM
    Avatar of alpha-sun
    alpha-sun
    Avatar of alpha-sun

    alpha-sun

    25
    Recent Achievements000
    No Achievements Earned. Learn How!
    25
     
     
    Sign In to Vote
    0
    Sign In to Vote

    不清楚你说的该如何使用

    我现在的做法 

    对于word文档

    hr = CLSIDFromProgID(L"Word.Application", &clsid); //通过ProgID取得CLSID

    hr = GetActiveObject(clsid, NULL, &pUnk); //查找是否有WORD程序在运行

    hr = pUnk->QueryInterface(IID_IDispatch, (LPVOID *)&app);

     

    对于ppt文档

    hr = CLSIDFromProgID(L"PowerPoint.Application", &clsid);//通过ProgID取得CLSID

    hr = GetActiveObject(clsid, NULL, &pUnk);//查找是否有WORD程序在运行

    hr = pUnk->QueryInterface(IID_IDispatch, (LPVOID *)&app);

     

    我现在做的话,只能先用word来检测一遍,再用ppt来检测一边。如果L"Word.Application"能换成L"office.Application",取出后再通过Application.name来判断那就方便多了。

原创粉丝点击