|
|
|
![]() :: Research Group Embedded Interaction :: Media Informatics :: Ludwig-Maximilians-University Munich Skype Plugin - A Tangible User Interface for SykpeThis project page describes ... i keep forgetting to change my status... phyiscal device for telling skype my phyiscal status.. virtual chaning ... keep forgetting it. Visual Studio Setup for Skype Plugin For creating a Visual Studio Project, simply start VS (VS = Visual Studio) and create a empty .NET Project (to be found under C++ Projects). Configure the following:
The Skype demo program recognizes the different build targets of VisualStudio (Debug or Release) and depending on the target configuration, the program prints loads of debugging output or not. Here is a screenshot of the sample application without debugging output.
Visual Studio Setup for Libparticle As the current libparticle 0.4.2 (as of writing) contains some errors in the VisualStudio solutions we provide our version of the libparticle 0.4.2 with VisualStudio files here. Skype-related Information Programs trying to access Skype have to be granted access. When the first access occurs, a message from Skype pops up asking for permission. If you by accident deny access, you will need to change the settings in Skype menu 'Tools', click 'Options' and then chose 'Privacy'. At the bottom of the window you find the link for controlling access of external programs, the item is labeled 'Manage other programs' access to Skype'.
You then will be presented the following dialog. The program name and the current settings are displayed in the main part of the window. Below you see the settings for the example program from Skype.
Tangible User Interface for SkypeHere is our tangible user interface for Sykpe. It is a Particle using our display add on board together with a custom housing allowing only several stable states - each state representing a Skype status.
Here is the tangible user interface in action, next to a compuer. Code for chaning status: (message that is sent to a (hidden) window that is listening for messages: // if there is a valid handle to the skype api window. if( hGlobal_SkypeAPIWindowHandle!=NULL ){ // The COPYDATASTRUCT structure contains data to be passed to another application by the WM_COPYDATA message.COPYDATASTRUCT oCopyData; sprintf(acInputRow, "#cmd11 SET USERSTATUS INVISIBLE" ); //printf("mk-debug:%s\n", acInputRow); // send command to skypeoCopyData.dwData=0; oCopyData.lpData=acInputRow; oCopyData.cbData=strlen(acInputRow)+1; if( oCopyData.cbData!=1 ){ // wenn kopieren der daten erfolgreich:printf("mk-debug:kopieren der daten erfolgreich!\n"); if( SendMessage( hGlobal_SkypeAPIWindowHandle, WM_COPYDATA, (WPARAM)hInit_MainWindowHandle, (LPARAM)&oCopyData)==FALSE ){ //hGlobal_SkypeAPIWindowHandle=NULL; //printf("!!! Disconnected\n");printf("mk-debug:senden der nachricht erfolgreich!\n"); } } }
Files
LinksLiterature References
|