C# - Organizing .NET P/Invoke Code To Win32 APIs?
Mar 12, 2010
I am refactoring a large and complicated code base in .NET that makes heavy use of P/Invoke to Win32 APIs. The structure of the project is not the greatest and I am finding DllImport statements all over the place, very often duplicated for the same function, and also declared in a variety of ways:The import directives and methods are sometimes declared as public, sometimes private, sometimes as static and sometimes as instance methods. My worry is that refactoring may have unintended consequences but this might be unavoidable.
My instict is to organize a static/shared Win32 P/Invoke API class that lists all of these methods and associated constants in one file... EDIT There are over 70 imports to the user32 DLL.(The code base is made up of over 20 projects with a lot of windows message passing and cross-thread calls. It's also a VB.NET project upgraded from VB6 if that makes a difference.)
View 6 Replies
ADVERTISEMENT
Jan 5, 2011
Long story short, code that used to work on my 32 bit computer doesn't work on my 64 bit computer. Does 64 bit require something like changing Integers -> IntPtrs?
View 11 Replies
Mar 16, 2010
I've got the following code:
[code]...
The problem is that, when I call the "SetStatusBarText" sub from another thread, InvokeRequired is True (as it should be), but then my threads stall on the Me.Invoke statement - pausing execution shows them all just sitting there, not actually invoking anything.
View 1 Replies
Apr 18, 2012
I was scripting a very basic process manager, with a ListView component, and it was working fine for many days, up until now.Here is the code for getting processes:
Dim Process As New Process()
Dim Count As Integer = 0
ListView1.Items.Clear()[code].....
The line of code where I put "*WIN32 EXCEPTION LINE* keeps running into an error(Win32 Exception was unhandled; Access is denied). Here is the full error description:
System.ComponentModel.Win32Exception was unhandled
ErrorCode=-2147467259
Message=Access is denied[code]....
As I said before, this had been working for several days, up until now.
View 1 Replies
May 23, 2011
What should be the VB signature for the unmanaged function void PopulateBSTR(BSTR outstring)?The function PopulateBSTR does a SysAllocString and populates the string. Note the unmanagaed signature has the argument BSTR and not BSTR*. I can marshal the BSTR string using IntPtr signature when the C++ signature has BSTR* as the argument.
(The unmanaged code is an external dll which I cannot modify but I need to use.)
View 2 Replies
Jun 16, 2009
I've written the code to post the information to a page, however I don't know how to make the post target the iframe I've placed on the page. (I haven't tested this code so I'm not sure if the post even works)
Dim param1, param2, result, url As String
Dim request As HttpWebRequest
Dim paramStream() As Byte[code].....
That is what I have written to post to the website, however I would like the post to affect an iframe which I have placed on the page. I know when you're writing html you can have a target specified in the form tag
<form target="my_iframe" method="post" action="dosomething.php" />
But I wasn't sure if there is one similar to target that I can specify from VB code.Just a note: I am trying to do a post from a ASP.NET page to a PHP page that is contained in an iframe.
View 1 Replies
Aug 9, 2010
I am creating a class that represents a vehicle of some kind, called "Transporter". The number of wheels the vehicle has is variable, and is stored in a property. I want the wheels themselves to have their own properties, individually. How do I properly set up a class that is nested within another class? Right now I have two separate classes, where one of the vehicles' properties is a collection(of WheelModule). I just want an outsider opinion, as I have never done this before.
VB.net
Private ModuleCountVal As Integer
<Description("Number of Wheel Modules")> _
Property ModuleCount() As Integer
[code].....
View 16 Replies
Jul 21, 2009
I have a program that runs a command line and retrieves the output, but the output I receive is unorganized and run-on. Since 3 processes are being run, I'd like each process results to be listed on a different line.
Here is the code:
Dim viewteam = Page.Request.Form("viewteam")
Dim arg As String = "/c net localgroup hglocal-" & viewteam & "-gold"
Dim arg2 As String = "/c net localgroup hglocal-" & viewteam & "-rw"
[Code].....
View 1 Replies
Sep 4, 2011
I've been working on a calculation program and it needs to access both a list of constants and a list of variables. So far during development I've used local .txt files and read from them using a StreamReader that accesses them directly using the full path.Obviously that won't work for a published version as there's no guarantee that the files will ever be put in the same place so I'm looking for a way around that.
I've managed to get the constants file converted into a .resources file but the conversion seems to have changed the order of the constants, ie: Pi was first in the original file but is now second. The rearrangement doesn't seem to be alphabetical either as the next pair of entries start with s before we move back to p. Is there any way to force resgen to preserve the order of the elements? Is there a different method I should use?
View 7 Replies
Jun 22, 2012
My program utilizes various images of different sizes. I want to organize these images so that they all fit into a predetermined space without resizing any of them. They need to be organized in such a way to use as much of the predetermined space as possible. I guess it would be like organizing photos in one of those old photo albums (with the translucent, mildly adhesive, peel-back plastic sheet that held the photos in place) so that you could get as many photos on a page as possible. Or you could think of it sort of like Tetris? Except all the pieces are rectangles.
I assume I would use a recursive function to loop through all the images to find out if they fit or not, then returning the best outcome? I tried searching for code samples but searching for Organizing Images or Organizing Shapes gives less than desirable results.
View 5 Replies
Feb 8, 2012
I'm trying to make a program so I can open a text file, take the information in that file, and organize it in a list, but I can't figure out how to do it exactly.In visual basic, how would I change this:
<NAME>Joe Somebody</NAME>
into:
Joe Somebody
I want to be able to ignore "<NAME>" and "</NAME>" and output "Joe Somebody" into the organized list, but I don't want it to work only with Joe Somebody. I want it to work with other names too. I also want to be able to edit that information, and export it the same way as the text file.
View 1 Replies
Aug 27, 2010
I have a filesystewatcher object. On it`s event it runs a procedure which fills a treeview with a data. I had problems with treeview methods, but when I run them using invoke method everything is ok. But I still have one problem. When I load the form for the first time, everything works fine. But, when I then close the form (me.dispose, me.close), and load it once again, when Filesystemwathcer start the procedure i have an exception "invoke or begininvoke cannot be called on a control until the window handle has been created" trying to run a treeview.invoke method?
View 9 Replies
Apr 10, 2009
What is Platform Invoke Service (P/Invoke)?
View 1 Replies
Oct 13, 2010
We have a UI with a progressbar. I know how to invoke, safely, the control from which it was not created from a thread. there are threads being processed in a threadpool, all of which calls an "agent" (which is a notifier to raise an event back to the UI to then increase the progressbar). an "agent" is set as a property in a State object, which is then passed into a method which will be executed on the ThreadPool. so, I invoke on the UI the method to update the progressbar, but the bar does not seem to update at all (screen frozen) and it takes a very very long time for it to execute. without threading, no problem.
[Code]...
View 8 Replies
Feb 20, 2009
i am terrible when it comes to the programming area of APIs. Though APIs are well used in Visual Basic.NET so i must learn it.How do APIs work?How are they used?Can anyone either explain or supply me with a link about writing an API?
View 3 Replies
Mar 12, 2009
Is it possible to get information on the APIs in Vb.Net?
View 2 Replies
Mar 17, 2011
To programming in Python, I was wondering if there is a way to access VB .net APIs using Python.
View 1 Replies
Jul 27, 2009
Show the page where i can get all the APIs used in vb.net? Also i need a program to put my Vb.net program in the startup.
View 8 Replies
Nov 25, 2009
APIs for Printer Page number
View 2 Replies
Jul 13, 2011
I am currently working on an application to automate file download(s). My main application is running a query for downloads with embedded browser. When the results are returned they need to be downloaded and saved. This works fine. The last step of the process it to start download and the 'File Download' dialog pops up. I wanted to create another application that would monitor for the 'File Dialog' windows (knowing the main application Process ID I can ensure that I find only the dialogs generated by my application).
View 7 Replies
Jan 26, 2012
I need an API for sendmessage and sendmessagetimeout for my VB .net application. I have searched quite a bit, and everything I find doesn't seem to work: either the message just doesnt seem to be sent, or the message appears to be sent with the msg parameter always 0, and the wparam setting as what I enter for the msg setting. Pinvoke's also always seems to throw an AccessViolationException for I have no idea what reason. I tried playing around with maybe just where I put the variable, but unsurprisingly, there is not a simple logical switch of the variables.I have tried pinvoke's:
<DllImport("user32.dll", SetLastError:=True)> _
Public Shared Function SendMessageTimeout(ByVal windowHandle As IntPtr, ByVal Msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr, ByVal flags As
[code].....
View 1 Replies
Jun 3, 2009
What is the difference between the winreg and advapi32.dll APIs. I am trying to convert a VB code into Python. I have seen that the VB code has RegOpenKeyEx() from advapi32.dll. Now in Python, there is a topic on WinReg access and there this api RegOpenKeyEx() is mentioned. can I use this instead.
View 1 Replies
Feb 3, 2011
I have consumed a word doc in my app with the SetParent and SetWindowLong APIs. When I close the app I want to leave the word doc open. I have used the SetParent and used IntPtr.Zero(2nd parameter) which kinda works - it just does not have a document border. Would I use the SetWindowLong function - if so what would the parameters be? I have looked at the SetWindowLong function, just not sure about the second and last parameters. What would be the proper way to do this?
CODE:
View 7 Replies
Dec 23, 2009
Finding the documentation on windows API's for use with visual basic? I used to use API guide until they stopped updating it in 2002. All I need is the api name as well as the list of parameters in order to use the API's functions.
View 2 Replies
Jun 6, 2012
Am writing a GPS application but I need APIs or Libraries I can easily use. It's supposed to work real time...
View 5 Replies
Mar 10, 2012
I'm having some problems with some API calls. I'm trying to return device driver information for a given device in device manager so I can access the available information and display it. I'm using a series of API calls which in turn populates a list with device driver objects associated with that device. The API calls fail. The problem is that I can't find any reference material online for these APIs so I can figure out what's wrong. [code]
View 1 Replies
Sep 19, 2009
can we unzip a zipped folder using microsoft APIs or namespaces perhaps System.IO.Compression. However, it seems to be cumbersome to use them. With a thrid party dll file it works perfectly fine, however i dont want to use it as we dont know what is actually happening inside. Can we have a piece of code which unzips a zipped folder.
View 3 Replies
Sep 15, 2009
Do you know which website that free download ebooks on API VB.net? I'm a second grad on IT programmer.
View 2 Replies
Jan 24, 2012
I am trying to create a small utility that tracks desktop usage in detail, to the level of individual text boxes etc.... in other applications. However, it is proving quite tricky. I thought I had it nailed using the Windows api. The below code is just a snipet of the code but essentially it provides me the handle of the control that the mouse is over. I thought from here, it would be easy to to the same thing but to provide the handle of the control that the cursor was actually clicked on, for example, if someone is filling in a text box in an application, they would not necessarily move the mouse to get to the text box, they may tab to it. Does anyone know if there is a way to get the handle of the control that is in use?
Private Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles Timer1.Tick
Dim ptx As Integer = Cursor.Position.X
Dim pty As Integer = Cursor.Position.Y
[code]....
View 4 Replies
Feb 29, 2012
Does anyone know of a good 3rd party reference for Win32 API for .Net where VB.Net is the target language Most API references target C as the language of choice. Frankly, I hate C and all C like languages.
View 11 Replies