c# app communicate with vb6 app - c#-4.0

I wrote a c#.net 4.0 application and I need to send data to a VB6 application.
the VB6 can send and recive data via DDE, but I can't find any working and or understandable DDE protocol for my C# app. I can try and change the communication protocol of the VB app.
Do you have any suggestions for suitable protocol?
I found this topic and I think I will choose the TCP winsock protocol, which is availible at the two workspaces, but I can't find any working code sample of such multilanguege use of Winsock.
I'll be glad to get such example.
Thanks!

If you want to stick with DDE you could check out this project: http://ndde.codeplex.com/
or http://www.angelfire.com/biz/rhaminisys/ddeinfo.html. I have no experience using them, but they aim to solve the problem.
However, if you have the source code for the VB6 application, then it may be much simpler for you to expose a COM interface.
You can do so by changing the project from Standard EXE to ActiveX EXE and creating at least one public class exposing your methods. I did this for all my VB6 apps that previously used DDE and higly reccommend it. It gives the client application a better interface to work with.

Related

Converting a .Net dll to a .Net Core dll

We have this application written in Visual Basic (Windows Form Application) and I am tasked to convert it to Universal App (UWP). the said application uses a dll that is specific to .Net Framework so in order to convert it into a Universal App, I need to have a dll that is targeting .Net Core.
Is there a way to do it?
I know nothing in dll stuffs, can someone enlighten me up? Any help will be appreciated.
Your best bet in this case is the Desktop App Converter.
In summary, what that does is takes your existing .exe application and converts it to an Universal Store appx. In most cases this can happen without any code changes, and the resulting app can be deployed to the Windows Store or other UWP deployment channels (MDM solutions). It also lets you add some of the UWP features such as Live Tiles or Push Notifications, while others won't be possible with this (Adaptive Layouts). The application, though running under the new Application Model will still run with the same permissions as the original .exe (not sandboxed).
So, if you are being asked to convert the app for (some of) those reasons, it might be your best solution.
If this does not work for you, there is no other choice than a complete rewrite at this point since UWP does not support Forms, you will need to use XAML, so your entire UI stack needs to be redone at which point, a complete refresh usually makes more sense.

How can I secure the source code of my Firefox OS application?

I have an app for Firefox OS, and I would not like to expose any of the source code, even obfuscated source. Is there currently any means to do this? Is this functionality even planned? Also, this app has ALL functionality implemented in the client, so "move the business logic to the server back-end" does not address this issue.
There is no real solution yet, since every web page exposes the JavaScript source code.
Why not trying obfuscate ?
Since JavaScript is executed on the client side, not only in Firefox OS but every other platform too. The possible options are limited to obfuscating with aforementioned transformations or hiding the application logic in server-side code.
You can read more about app source protection from Mozilla official blog here: https://hacks.mozilla.org/2013/12/protecting-your-firefox-os-app-code/
You could write your application logic in C/C++ and protect it by encryption libraries and convert them into JavaScript using, Mozilla’s Emscripten tool which compiles C and C++ to JavaScript: https://github.com/kripken/emscripten/wiki
You're asking "how do I give someone something, and simultaneously take it away?" You can't. This issue hasn't been solved with JS, and neither with native code.

Objective C interface and C# core

I am trying to port a C# window's application to ipad. I compiled everything on monotouch and it runs well. Now, I need to make an iPad user interface. If I implement the UI in Objective C, how hard is it to integrate it with my C# core? I saw monotouch can call objective C library, but I am doing the opposite direction. Any help is appreciate.
There's currently no support for you to execute the C# code from Objective-C. Your best bet is to just stay in MonoTouch and finish the iPad application with C#.
Working with UIKit in C# is at least as simple as it is with Obj-C, plus you get all the benefits of not having to deal with Memory allocation and the C# language and .NET framework. Developing UI code with lambda expressions and linq is a beatiful thing. Most obj-C sample code can be translated one-to-one to C# code, so almost every sample you find can be easily understood.
There is one possibility, you make your UI into a library, then you bind the library to C#, and then your C# code calls your Objective-C code to the UI, and this one in turn, calls back to C# for its business logic.
You are better off doing the UI directly in C# as well.

How to get user domain roles in VBA EXCEL

I would like to check in VBA, in which roles is user logged in windows.
Can anyone help?
I believe there is no built-in way of doing this in VBA.
Probably the easiest way of doing this would be expose a COM Automation interface from a DLL that retrieves this information and exposes it to your vba program. Another alternate is Win32 API call but I'm not sure which function. Do some digging on Win32 API and I'm sure you'll get a suitable function (P/Invoke repository may be of much help)
WindowsIdentity is the class I think that will give you a good starting point.
WindowsIdentity lives in System.Security.Principal in .net framework that you can use to expose the information via COM interface (I'm going out on a limb here and assuming you can program in .net -- if not, you will have to find a dll that already exposes this information)
If you are experienced with programming in .net and just need help on how to implement this information, drop a shout back here and I'll share some of my code that I use for same purpose.

SharePoint - Posting and Retrieving files Automatically via VBScript

I'm going to need to push and pull files from a SharePoint site that is not hosted by my company (it is external). I'm only going to get a few days (if that) to get this working so I don't have much time to experiment.
To add to my requirements/headaches, I'm going to have to implement this with VBScript. .Net would be preferred for me but for reasons beyond my control I have to use VBScript. I don't have direct access to my VBScript web server, so I won't be able to implement this in .NET and use that object from VBScript.
I'm looking for anything that would help me accomplish this goal quickly and effectively. I found this post and am wondering if the PUT/GET method used here would work for me?
http://weblogs.asp.net/bsimser/archive/2004/06/06/149673.aspx (I got this link from: Sharepoint API - How to Upload files to Sharepoint Doc Library from ASP.NET Web Application)
To top all of this off, I've never done any programming or administration of a SharePoint site. My knowledge of SharePoint is that of a user. I'm aware that there is an API from the few Google searches I did. However, my readings make me believe that my code would need to run on or in proximity to the SharePoint server. I don't believe I have the proximity I need to use the API.
Sincere thank yous!
Regards,
Frank
Progress Update: I'm still researching this. Tom pointed out that the example I had posted is probably from an old SharePoint version. His recommendation to use .Net to develop a prototype on Web Services is good but I'm hoping for more detailed answers.
I'm now wondering if I can accomplish what I need to accomplish using HTTP PUT and GETs. At my company, for a specific project we do use HTTP PUT and GETs to do something like this. We have files that are stored on an HTTP server and this is how we post and retrieve them.
Would this work over SharePoint or would SharePoint require special handling? Basically, do I have to use Web Services?
Progress Update 2: This link is helpful... Upload a file to SharePoint through the built-in web services
But I am still looking for more information on this topic... Thanks all...
You'll need to use the sharepoint lists web service for metadata and get/put for uploads. That link looks to be for SharePoint 2001, so hopefully you can use the newer/simpler version.
I recommend building something in .net first to get the web service calls worked out - some of the parameters can be quite tricky to debug, and I wouldn't want to be doing that on a remote vbscript page.
Assuming there is no metadata required and the SharePoint library is being used like a file server you can do most of what you want with PUT/GET, but you will probably need a call to GetListItems to find the urls to download.
There's an example on my blog of a lower level call to that web service - it's javascript, but probably close enough.
http://tqcblog.com/2007/09/24/sharepoint-blog-content-rating-with-javascript-and-web-services
What setting up the .net version gets you is very quick set up of a connection to the server (just add a web service reference in visual studio) so you can get the query and queryoptions strings working to retrieve the items you want. Once that works you just have to put it all together as a string including the soap stuff for use without all the nice tools.
I'm a little unclear on the context of the implementation and the prerequisite of having to use VBScript. Are the files being moved from one server to another server or from a user's desktop to this SP server? or are they being accessed via software like Excel?
The first thing that sprang to my mind (this may sound crazy) was using the Office application to make the connection. Your script would call up Excel (just as an example) and pass it the vba needed to initiate the Open File, and then provide the full path to the file that needs to be retrieved. Then have it do a Save As to the location that needs the file. Do the same thing but in reverse for putting files on the SharePoint server.
The tricky part, obviously, is getting the script to interface with the Office app. I know this can be done with the Windows version of PHP, but I don't want to get into anything specific without knowing your situation.
I seriously wonder if you are going to be able to use VBScript to call the SharePoint web services. I haven't looked at the SharePoint web services for a while so I don't remember exactly how they are defined. I thought the web services were SOAP calls though which makes it trickier than
I'm not sure I tried to use Excel to call some web services with the MSSOAP.SoapClient and it seemed this component was unable to handle any WSDL types beyond the very simple strings. Anything with nested data would not work. Instead, you would need to create a COM object to process the conversion which is a major hassle. If you are able to use XMLHTTP component then it might be possible with VBScript, but I'm not sure if it will work with SharePoint web services.
I'm not sure what you mean, "I don't have direct access to my VBScript web server." Is your web server in VBScript (ASP)? Or did you mean SharePoint server?
You might consider C# Script (cs-script) as a scripted solution that uses .NET. I have had good success with it, although it does need to be installed on the computer that runs the script.
I'm integrating between two companies. According to this book, we should use AD FS to accomplish what I'm looking for.
I still don't actually have this working though so if someone has more information I will change the answer to this question.
http://books.google.com/books?id=-6Dw74If4N0C&pg=PA27&lpg=PA27&dq=sharing+sharepoint+sites+external+adfs&source=bl&ots=ojOlMP13tE&sig=FjsMmOHymCOMGo7il7vjWF_lagQ&hl=en&ei=ytqfStClO5mMtgejsfH0Dw&sa=X&oi=book_result&ct=result&resnum=5#v=onepage&q=&f=false
I never really received a answer to this that worked out but this is no longer an issue for me.
What we ended up doing is scraping the html. In effect, we put together our own ad-hoc web service processor where instead of SOAP, html is used to communicate. Then we execute GETs, POSTs, and etc to work with the web service.
We had done something similar in VBScript in for WebDAV -- we had a class and created a new one to work with SharePoint.

Resources