Replacement of Skype4Com - c#

I'm trying to build a simple program (in C#) to send messages over Skype and tried to used Skype4Com. However, I found out, as here: https://support.skype.com/en/faq/FA12384/how-does-my-3rd-party-application-work-with-skype-and-how-will-changes-to-skype-impact-my-3rd-party-application, that since the library has been discontinued it no longer works for sending a message. In trying to find an alternative for this, I've found a number of other SDKs which Skype offer - such as their Bot SDK, but they all offer far more abilities than I require.
What's the best SDK to use to produce a simple program to send messages over Skype?
Thanks in advance.

This has now become a common problem, but luckily, there is a workaround that solves the problems being caused by the discontinuation of Skype's Desktop API.
Skype.Client.OpenMessageDialog(Skype username here, Message you want to send here);
Skype.Client.Focus();
Sendkeys.Send("{ENTER}")
Note: The above will bring the Skype client into focus so it cannot be ran completely in the background, unfortunately.
You can see a demonstration here: How To: Fix Skype4Com SendMessage Problem!

Related

C# BluetoothLE How can I getting started

I am new to this business and I want to make an application related to Bluetooth LE. I don't know where to start, I want to do it using a library. I searched libraries such as 32feet.Net, InTheHand.BluetoothLe, Plugin.BluetoothLe, ble.net but I could not figure out how to make a windows form app or what can I do and where to start. Can anyone help?
Bluetooth on windows has always been difficult with very few examples to learn from.
I think the most up to date way is probably to make a UWP application and use the Windows.Devices namespace. I've never tried it that way though.
There are examples of this here: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BluetoothLE
If you want to use 32feet.net, you will find some sample code in an old question of mine here:
Bluetooth Pairing (SSP) on Windows 10 with 32feet.NET
I got the basics of searching for devices working, but never got the pairing to work how I wanted, and the question never got an answer despite someone placing a bounty on it. Hopefully it at least puts you on the right path.

Listening to a POS Epson Printer (tm-h6000iii) from a web page

I'm currently attempting to see if it is possible to move a desktop based POS system to an MVC. So far using the Neodynamic Web Print Library (http://www.neodynamic.com/articles/How-to-print-raw-ESC-POS-commands-from-ASP-NET-directly-to-the-client-printer/) I've been able to utilize ESC/P commands to both print from a web page as well as send a drawer kick command.
My next goal is to see if it is at all possible to get data back from the printer. The reason I need to do this is so that I can validate things like the drawer status, slip printer in use, and paper jam etc. So far I've attempted to use the ePOS-print sdk (http://www.novopos.ch/client/EPSON/TM-T88V-i%20und%20Epson%20TM-T70-i/ePOS-Print-API/ePOS-Print_API_UM_E_RevB.pdf) but it appears that it's not possible to utilize it for any EPSON printer that is not classified as a TM-Intelligent printer. I contacted EPSON with this same question and they were very dismissive saying that I would just need to use their ASB commands but I don't see how that could possibly work when sending RAW data from a web page.
I've done a little research into signalr but i didn't find anything that i thought i would be able to use.
I'd prefer to find a way to do this without installing anything on a client's computer but if I have to install some sort of web socket in order to do this it'd be understandable.
Essentially what I need to know is
Is this even possible?
If it is possible, what do you think is the best method to pursue?
I really just need some guidance so that I can focus my research on something that might actually work. Thanks in advance for your time!
You have to install something client side. There are no standards for doing this. Which is the problem that Web-based POSes are wrestling with (such as Vend). The way they get around this is using printers which can talk the web themselves, something like Google cloud print.
I see that Neodynamic DO install something client side, so you could ask them to enhance their software.

How to simulate keyboard input in ALL applications?

I'm writing an app (in C#) which as a part of it must simulate and send some key strokes to another application. I'm using http://inputsimulator.codeplex.com/ project for simulating keys, and it works in many applications, but in some it doesn't - i.e. Mortal Combat 4.
I've googled about it, and found many answers varying from 'it's impossible' to 'you must use XXX library' etc. Those answered scared me a lot, and even nearly convinced I'm not able to do it at that time, BUT...
M$ Virtual Keyboard works. It works in ALL applications. So it IS possible... Does anyone of you, clever guys, know how can I achieve this?
Ok, I think I finally got it to work. I used API Monitor recommended by Neal P and it showed just minimal differences between OSK calls and mine. A bit later I've tried to make my calling thread sleep some time between sending messages with press and release key and that was it.
Although you were able to achieve your purpose, the way you achieved it does not fundamentally answer your question: How to simulate keyboard input in ALL applications?
There's a bunch of situations where the common user mode Microsoft API already mentioned does not work, like game applications that use the DirectInput API or protected games.
I have built a library that can help in this situations, it provides a simple C API that internally communicates with device filter drivers. It is able to send input for DirectInput based games and also is able to bypass some game protections. I have checked and it is still able to bypass some known game protections by using the x64 version of the library. Game protections commonly hook only the x86 system's api. Well, at last now, 18 February 2012, this is what I'm seeing happening.
Take a look at SendKeys on MSDN

To Develop an Application:Using Mobile Camera as a Web Cam

I have been tasked with doing this application:
So far: I have a J2SE application which builds a bluetooth service and waits for an incoming connection.
A J2ME application which searches for the service and when a match is found, it streams images clicking continuously with the phone's camera. The J2SE app accepts the images and displays them on the desktop machine.
But according to my project specification, I need the desktop application to be developed in C#.
What I tried?
I tried to read the J2SE code line by line and reproduce the same in C#. After googling around I found that 32Feet library was a good choice. So I went ahead and read the documentation which has code samples in VB, and tried to implement it in C#. It started well with me discovering the local device successfully but eventually i got stuck in the part related to the creation of Bluetooth service.
While most of the terminology is same with ServiceRecord, UUID/GUID etc...but I have failed miserably. Moreover I tested some code which works in VB but fails in C#. Even I tried OBEX...(a small file transfer test) which worked yesterday but fails today with an exception.
Now I am contemplating of starting from scratch all over again. Can someone help me please in suggesting ways to proceed further. I mean in what tools/library/environment should i opt for. What is the best and reliable way to develop the desktop app in C# with the J2ME app already developed.
Help required please. All suggestions even small ones are welcome. I am relatively new to both Bluetooth and C#. I have some experience in Java and J2ME.
Its sad to see that you wish to leave back those libraries you did used and spend alot worty time tinkering with it.
Rather than leaving that effort, try to resolve it. Let us know what exceptions/errors your facing with those libs.
Many experts here shall surely help you with it. Or talk to the developer of those libs for any help needed.
Hope this kind of helps Bluetooth in C#, Which stack, Which SDK?

Getting started with writing a desktop app that talks to an iPhone

I'm thinking of writing an app to selectively transfer photos/music to and from my iPhone, mostly for fun and personal convenience. However, I'm stuck at the very beginning -- where do I look to find information on how to do this?
Pretty much every link I see talks about developing applications that run on the iPhone, but nothing about desktop app for interfacing with an iPhone.
I'm on Windows (no access to a Mac, but I'll take suggestions for that for when I eventually acquire one), and I'm most familiar with C#, but other languages are definitely an option.
Can anybody offer me a few pointers on getting started? Thanks.
Edit: to clarify further, I don't need information on how to write applications that run ON the iphone. There are plenty of resources out for that. :) What I'm looking for it some pointers on how to "talk" to an iPhone or an iPod through the USB cord, if that's even possible.
Edit #2: I found libmobiledevice library that effectively does what I'm talking about on Linux. I don't think I'm too keen on attempting to port it over to Windows, though. :)
I found what I was looking for: SharePodLib. Thanks, everyone.
I recommend and have used the following options:
Option 1:
Run a small and light webserver in the iPhone and of course, use HTTP to transfer. I recommend mongoose websever, i've tried it with very simple and very heavy load. Also here, you can find an actual drag and drop project to deploy this webserver in the iPhone.
Option 2:
Use something like Bonjour, this is something very useful if you want the "smart" discovery of your device in the network, maybe for opportunistic peer discovery. You can check here and here, to understand how to get bonjour to run in the iPhone and use it to exploit discovery and sharing.
Hope it helps!!
Unfortunately, there's no no way to sync an iPhone app with a Mac app over USB, at least in the current SDK. As already stated, you'll have to either sync over HTTP or use the local network. You might want to check out ZSync, a Cocoa library for bonjour syncing (I haven't used it, and it's in early development stages, but it looks interesting).
Unfortunately there is no officially sanctioned method to do what you describe. In Apple's view the only application that should have visibility of that information is iTunes. There are applications out there that appear to be able to do this, but I suspect they have reverse engineered the USB protocol and are thus open to being locked out if the protocol changes.

Categories