|
Let's say that I develop the innerworkings of a program in a Win32 DLL (in Native C++) and I want the GUI for the application to take advantage of .NET. How would I work the connection between the two without resorting to turning the native C++ to Managed C++?
In other words, I would like to have the .NET application to be able to access and make use of the Win32 DLL.
Happy Programming and may God bless!
"Your coding practices might be buggy, but your code is always right."
Internet::WWW::CodeProject::bneacetp
N-Tech Productions
http://www.n-tp.com/
|
|
|
|
|
First thing:
using System.Runtime.InteropServices;
along with your other using statements in the beginning of the c file..
then create a class:
<br />
public class DllWrap<br />
{<br />
[DllImport(string DllName) public static extern <br />
int/bool/string/... FunctionName(function calls);<br />
}<br />
when you have to call the function from the code:
<br />
DllWrap.FunctionName(calls needed);<br />
Hope it works for you...
Regards..
|
|
|
|
|
Thanks for your response!
Happy Programming and may God bless!
"Your coding practices might be buggy, but your code is always right."
Internet::WWW::CodeProject::bneacetp
N-Tech Productions
http://www.n-tp.com/
|
|
|
|
|
Currently arranging sort of favorites menu.
faced some problems with the tooltips over the MenuItem.
The problem is:
I've got context menu with banch of MenuItems
that are generated dynamically.
each is MenuItem child class with few additional fields e.g. URL. this url should be displayed when i hold the mouse over item. Tried Tooltip class but can't use MenuItem with its SetTooltip method, cause menuItem is not a control class.
Q:how can i handle Tooltips over my menuItems
like in IE favorites menu?
|
|
|
|
|
As far as I can tell, there's no way you can use the standard Tooltip control with the MenuItem.
The options seem to be getting a third party control, or rolling your own ExtenderProvider control to do this.
|
|
|
|
|
when refing com dll(eg. xxx.dll),the .net dev auto generates a corresponding interop.xxx.dll,i can't understand this oddball action,why does it occur?
|
|
|
|
|
william_zhou wrote:
i can't understand this oddball action
I can't understand this oddball statement. Do you take a similar view of everything you don't understand?
Did you notice that using the COM dll you referenced isn't much different from using a .NET dll? No IUnknown, QueryInterface, CoCreateIntance, etc. Well, that's the functionality the interop dll provides. It handles conversions and marshalling between COM and .NET data types and handles the dirty work needed to use COM components with the CLR, which doesn't know COM from a hole in the ground.
There is a lot of information available on the subject, should you be interested.
Beyond (COM) Interop: Has Anyone Seen the Bridge?[^]
Calling COM Components from .NET Clients[^]
Charlie
if(!curlies){ return; }
|
|
|
|
|
thank Charlie,
you have told me what i want to know,and the more correlative information is useful to me,
thanks a lot!
|
|
|
|
|
Did Microsoft ever implement video acceleration compatablity for GDI+? or is it still software only? I remember there was some talk about this when I first started using GDI+ a couple of years ago. Just wondering if anything ever came of it.
Thanks
|
|
|
|
|
Hi, I am using a needle printer to print very long information, the printing paper is scroll paper, which looks like printing paper for cashing machine in department store.
I use Report Printing Class Libary to do this job and I don't want paging, but by default, printed content is paged that there is a gap between two adjacent pages, how can I solve this problem?
Either solutions on Report Printing or .Net Printing component is acceptable.
Thanks in advance!
Vinsent
Make things simple, but no simpler.
|
|
|
|
|
When I create a remote object (Activator.GetObject), the first method call on the remote object is EXTREMELY long, generally around 30 seconds. The remote object is created on a local network host. Is this normal behaviour? Is there a way to reduce this time?
|
|
|
|
|
Hi,
I have a slight problem and would appreciate any help.
trying to write a program where a TreeView clears and re-builds a ListView's contents depending on what node was clicked.
Some of the TreeView nodes requires icons to be displayed on ListView, some don't. However if you assign a null value to the SmallImageList property of the ListView, it still keeps the icon place holders resulting in slightly right aligned text in the ListViewItem.
Is this a bug or there is another way to disconnect an ImageList from ListView?
thanks
|
|
|
|
|
Try to Decompile this .NET demo application protected with my simple obfuscator
your opinion is a lot important. tnx in advance for your attention and eventual suggestions.
Marcello
www.cantelmosoftware.com
info@cantelmosoftware.com
please download demo from: http://xoomer.virgilio.it/cantelmosoftware/net/TryMe.zip
My Article on Code-Project:
http://www.codeproject.com/dotnet/Anti_BPX.asp
http://www.codeproject.com/dotnet/StackCrypt.asp
Nothing is Impossible if not Tests the Absurdity
|
|
|
|
|
Well what exactly do you want to hear?
You will know yourself that if obfuscates rather well . Even strings are hidden very well which is not 'standard' for obfuscators. I think this is probably also the reason why the IL code is that extreme long. It has more than 9000 lines where I would expect (in such a simple program) not more than 10 lines. If this scales up in bigger assemblies that would really be a problem...
|
|
|
|
|
thanks! for to have dedicated to me little of your time
the new version has been remarkablly upgraded with a new polymorphic engine
the software originates has them 6kb lines of code. protected code 20 (considering the obfuscated string). this is the price to pay for one good protection. assembly the little longest one is the last one of my problems.
with my obfuscator, at moment, I succeed to block:
- Reflector;
- Spices.Net;
- Anakrino;
- Remotesoft;
- Decompiler.Net
...and the mass of hacker occasional that they want to steal our code
Nothing is Impossible if not Tests the Absurdity
|
|
|
|
|
What would interest me if this "growth" of size is linear or just one time per class/assembly or whatever. If an already large assembly gets more than twice the size when obfuscating its a bit too much (at least in my opinion). I also noticed that a little test app of mine which only shows one MessageBox runs noticeably faster than yours.
btw: Is your homepage broken? Except for external links nothing seems to be linked together correctly. I ask because I wanted to try your tool myself...
|
|
|
|
|
perhaps in part your reasoning is right
I try the maximum emergency paying on the largeness of the file. your file are faster only why it is smaller !
I am of the idea that puts into effect them to it obfuscator does not serve to nothing. enough not to change name to the methods. a method works equally even if it calls itself "a" instead of "SerialNumber" ...I render incomprensibile the structure
my web site is in maintenance. I must test my obfuscator with the DLL assemblies. and then the public
for my obfuscator still I have not decided if to distribute free of charge or to payment...i must support my company and my creativity
Nothing is Impossible if not Tests the Absurdity
|
|
|
|
|
Spent most of the morning looking at how to link or include config files.
For example, lets say right now I have a database connection string in my web.config. I want to break it out into a different .config file that is referenced by the web.config, but the application/web-service itself is otherwise ignorant.
I want to know if there is a built in facility/syntax for this that I'm plain overlooking.
In my particular work environment, developers are technically not allowed production access, including knowledge of passwords.
We are also expected to have seamless installs.
Currently, after installing, we have to go and make multiple manual config entry changes in production, introducing the prospect of typos. This is not seamless.
What I would like to do is seperate all the configuration settings that are machine specific and have a low change frequency into a seperate config file, so that the average install can be ignorant of them while still being able to add entries to the main config file.
so, instead of web.config looking like this:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- DEV SETTINGS -->
<add key="LookUpConnectionString" value="server=xxx;uid=xxx;pwd=xxx;database=xxx"/>
<!-- TEST SETTINGS -->
<!--<add key="LookUpConnectionString" value="server=yyy;uid=yyy;pwd=yyy;database=yyy"/>-->
</appSettings>
...
</configuration>
it looks something like:
<configuration>
<appSettings>
<import name="LookupConnection.config"/>
</appSettings>
...
</configuration>
with LookupConnection.config containing the DSN info.
Ideally, without having to make a lot of code changes, as I'm trying to streamline an installation process, not re-write the existing application.
Am I dreaming a pipe dream here?
|
|
|
|
|
The appSettings key has a file attribute for this purpose:
Here it is on MSDN[^].
Charlie
if(!curlies){ return; }
|
|
|
|
|
|
Hi
Having a bad week (and it's only Monday)...
We have an inhouse component that relies on a 3rd party SDK. I was told the latest version of the SDK was build using VS.NET, so we had to upgrade. I've just built the new dev environment, installed VS.NET 2003 - (you can see where this one is going) - built the component, only to find there are missing dependencies. The 3rd Party relies on MFC70.DLL and we're now using MFC71.DLL.
Questions
1) Can I run my process where my EXE links into MFC71.DLL, and also links into a 3rd party DLL which inturn links into MFC70.DLL.
2) The 3rd party also has an NT service running, which will have MFC70.DLL already loaded. Will that impact me as well if my exe (also a service) uses MFC71.DLL.
This is a really naff situation to be in, but I can't downgrade to 2002 .
Any help really appreciated.
Regards
Angel.
*********************************************
The sooner you fall behind, the longer you have to catch up.
|
|
|
|
|
I presently have a winforms app being started by another program (the
application updater). The application updater does not open with a form but
checks to see if updates are available and if so downloads and installs the
latest version. When the download is installed the application updater
display a form informing the user the install is complete and to click on
okay to use the new version and then restarts the winforms app.
My question is that during the time the update is being downloaded the
normal application is still able to be run. I would like to change the
cursor to the wait cursor while the download is going on and on completion
return it to the normal cursor for them to answer the question. However no
matter where I put the change for cursor in the application updater it is
ignored. I assume because no window is being opened and used during this
time.
Can anyone help?
Invoice! 2002 - "Invoicing made easy for the small/home business"
|
|
|
|
|
can any one tell me how to use a DLL made in VS C++ 6.0 to use in a VS C#.NET project. I tried adding one in my solution through referencing it in the C# project but it gave the error that "the DLL is not a valid .NET DLL" ....any suggestions?
|
|
|
|
|
|
I am using MS VS .net. I have created a project and associated solution. I now want to take a snapshot of my current project before I move on with development in case I mess something up. I can't ficure out how to easily make a copy of the solution.
Any suggestions?
Brian
|
|
|
|