Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Platform invoke???

Platform invoke???

Scheduled Pinned Locked Moved C#
question
18 Posts 7 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Vu Truong

    Hi all, using System.Runtime.InteropServices; ... [DllImport("ole32.dll")] public static extern long CLSIDFromProgID(string ProgID, out Guid clsID); ... Guid clsID; long ret = CLSIDFromProgID("Excel.Application", out clsID); if(ret==0) System.Console.WriteLine("OK."); else System.Console.WriteLine("Fail."); I use above codes for checking Microsoft Excel is installed or not. But it doesn't work at all, even if I already installed Microsoft Excel. Are there any missing in my codes?

    E Offline
    E Offline
    Eric Gunnerson msft
    wrote on last edited by
    #5

    Can you explain what you're trying to do? If you're trying to drive excel, you'd do that through COM interop, not through P/Invoke. You do that by adding the excel com component to your project (or through tlbimp if you don't have vs).

    J D V 3 Replies Last reply
    0
    • E Eric Gunnerson msft

      Can you explain what you're trying to do? If you're trying to drive excel, you'd do that through COM interop, not through P/Invoke. You do that by adding the excel com component to your project (or through tlbimp if you don't have vs).

      J Offline
      J Offline
      Jorgen Sigvardsson
      wrote on last edited by
      #6

      How would such an interop assembly behave on a system where excel is not installed? Would it crap out on me while loading the application or would it throw a bunch of exceptions at me when I try to instantiate the COM-objects? -- Please state the nature of your medical emergency.

      E 1 Reply Last reply
      0
      • E Eric Gunnerson msft

        Can you explain what you're trying to do? If you're trying to drive excel, you'd do that through COM interop, not through P/Invoke. You do that by adding the excel com component to your project (or through tlbimp if you don't have vs).

        D Offline
        D Offline
        David Stone
        wrote on last edited by
        #7

        Ummm, Eric your company is giving us this: http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/999/msdncompositedoc.xml[^] and they say to use that instead of doing any type of COM stuff. Just thought I'd let you know. :) Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

        E 1 Reply Last reply
        0
        • E Eric Gunnerson msft

          Can you explain what you're trying to do? If you're trying to drive excel, you'd do that through COM interop, not through P/Invoke. You do that by adding the excel com component to your project (or through tlbimp if you don't have vs).

          V Offline
          V Offline
          Vu Truong
          wrote on last edited by
          #8

          Thanks for your reply. I use Microsoft Excel Object Library to create and edit on Excel files. So I have to make sure that Microsoft Excel is already installed. I also want to check I can use ADOX on the user's computer or not. I think if getting CLSID of these components successfully, I can use them. Is it right?

          1 Reply Last reply
          0
          • D David Stone

            Ummm, Eric your company is giving us this: http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/999/msdncompositedoc.xml[^] and they say to use that instead of doing any type of COM stuff. Just thought I'd let you know. :) Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

            E Offline
            E Offline
            Eric Gunnerson msft
            wrote on last edited by
            #9

            I didn't know we'd made those available. The page you link is correct, you should use the primary interop assemblies rather than rolling your own.

            J D 2 Replies Last reply
            0
            • J Jorgen Sigvardsson

              How would such an interop assembly behave on a system where excel is not installed? Would it crap out on me while loading the application or would it throw a bunch of exceptions at me when I try to instantiate the COM-objects? -- Please state the nature of your medical emergency.

              E Offline
              E Offline
              Eric Gunnerson msft
              wrote on last edited by
              #10

              Hmm. I don't know the answer to that.

              1 Reply Last reply
              0
              • E Eric Gunnerson msft

                I didn't know we'd made those available. The page you link is correct, you should use the primary interop assemblies rather than rolling your own.

                J Offline
                J Offline
                Jorgen Sigvardsson
                wrote on last edited by
                #11

                Eric Gunnerson (msft) wrote: you should use the primary interop assemblies rather than rolling your own Any special reason for this? -- Please state the nature of your medical emergency.

                E 1 Reply Last reply
                0
                • J Jorgen Sigvardsson

                  Eric Gunnerson (msft) wrote: you should use the primary interop assemblies rather than rolling your own Any special reason for this? -- Please state the nature of your medical emergency.

                  E Offline
                  E Offline
                  Eric Gunnerson msft
                  wrote on last edited by
                  #12

                  The big reason is that they're signed.

                  N 1 Reply Last reply
                  0
                  • E Eric Gunnerson msft

                    The big reason is that they're signed.

                    N Offline
                    N Offline
                    Nick Parker
                    wrote on last edited by
                    #13

                    Eric Gunnerson (msft) wrote: The big reason is that they're signed. Sounds like political red tape typical from any company, am I right?... ;) Nick Parker
                    **The goal of Computer Science is to build something that will last at least until we've finished building it. - Unknown


                    **

                    E 1 Reply Last reply
                    0
                    • N Nick Parker

                      Eric Gunnerson (msft) wrote: The big reason is that they're signed. Sounds like political red tape typical from any company, am I right?... ;) Nick Parker
                      **The goal of Computer Science is to build something that will last at least until we've finished building it. - Unknown


                      **

                      E Offline
                      E Offline
                      Eric Gunnerson msft
                      wrote on last edited by
                      #14

                      Nick Parker wrote: Sounds like political red tape typical from any company, am I right?... I don't understand your point.

                      N 1 Reply Last reply
                      0
                      • E Eric Gunnerson msft

                        Nick Parker wrote: Sounds like political red tape typical from any company, am I right?... I don't understand your point.

                        N Offline
                        N Offline
                        Nick Parker
                        wrote on last edited by
                        #15

                        Eric Gunnerson (msft) wrote: I don't understand your point. I was only being facetious. Just trying to lighten things up in the C# forum. No bad feelings? ;) Nick Parker
                        **The goal of Computer Science is to build something that will last at least until we've finished building it. - Unknown


                        **

                        1 Reply Last reply
                        0
                        • E Eric Gunnerson msft

                          I didn't know we'd made those available. The page you link is correct, you should use the primary interop assemblies rather than rolling your own.

                          D Offline
                          D Offline
                          David Stone
                          wrote on last edited by
                          #16

                          How much stuff do you not make available to us??? :suss: Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

                          E 1 Reply Last reply
                          0
                          • D David Stone

                            How much stuff do you not make available to us??? :suss: Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

                            E Offline
                            E Offline
                            Eric Gunnerson msft
                            wrote on last edited by
                            #17

                            This much (holding hands about 3 feet apart)... Perhaps "released" would have been a better term.

                            D 1 Reply Last reply
                            0
                            • E Eric Gunnerson msft

                              This much (holding hands about 3 feet apart)... Perhaps "released" would have been a better term.

                              D Offline
                              D Offline
                              David Stone
                              wrote on last edited by
                              #18

                              Okay. Just wanted one more reason to work at Microsoft...:-D Norm Almond: I seen some GUI's in my life but WTF is this mess ;-) Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough:) Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children:laugh: Leppie:My sister is 25:eek: -Norm on the MailMagic GUI

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups