How does UPS WorldShip know if Internet Explorer launched? - c

We use Aurora as a browser, but UPS WorldShip stubbornly uses Internet Explorer. So I created an executable named iexplore.exe and replaced the real iexplore.exe with my "fake". My "fake" iexplore.exe just launches Aurora. So I fire up WorldShip, and click UPS Home Page (or something like that) and it launches Aurora. But then WorldShip hangs, saying Connecting... Please Wait as though nothing launched.
My question is: How does IE communicate with WorldShip to let it know that IE has launched?
How can I implement this in my own program (preferably in C)?
EDIT
IE is started with the -Embedding option. Anyone know what that does?

The Internet Explorer is detected by the User-Agent in the HTTP header (as defined in the RFC2616). So if your browser don't send "MSIE" somewhere in the User-Agent, UPS won't think that you use an Internet Explorer.
Depending on the API that UPS uses it is possible that you really need to use the IE, especially if ActiveX is used. This is not supported by any other browser.

Related

How to capture screenshot on KaiOS device (Nokia 8110 4G)

Does anyone know how to capture screenshot on Nokia 8110 4G (KaiOS)?
You may follow these steps to get screenshot via Firefox WebIDE.
On the device - dial *#*#33284#*#* to enable developer mode. There will be a bug icon on the status bar.
Download Firefox 58.
[Important] Disable your internet access, this is to prevent Firefox got updated to a newer version which might break the WebIDE functionality.
Launch Firefox 58 and disable auto update.
Resume your internet access.
Launch WebIDE in Tools > Web Developer > WebIDE.
Restart the WebIDE (because the ADB helper would be downloaded automatically, and need to restart it to take effect.)
Now you should be able to see Nokia 8110 detected under "USB devices" at the right panel. (if not, see below)
Click the device, "Nokia 8110", and then click Screenshot.
See here for a sample screenshot.
Troubleshooting if you failed to see Nokia 8110 detected:
I found it might fail if your Firefox got updated to a newer version automatically, in this case you might need to leverage creating new profile to start over again, see here for details.
If the Firefox version stays correctly at 58 but after you click the device, it shows an error saying "Failed to connect", try to reboot the phone and also restart the WebIDE as this post suggested.
EDIT: Yes it is - Joelbert W's answer worked and makes the other responses a bit silly by comparison, just * and # together :-)
Unfortunately, it is currently not possible :-(
https://twitter.com/KaiHelps/status/1072446931421593603
https://twitter.com/KaiHelps/with_replies
It is possible either with WebIDE connection or with a custom ROM such as GerdaOS where you can make screenshots by pressing Power with half-open slide lid.
However, I'd only recommend installing custom ROMs for experienced users only since you can't use any official updates after installing them.
So I have a go flip 3, and i stumbled on if u press * and # almost simultaneously, it takes a screenshot.
I believe it's possible on certain devices and OS versions using the Screen Capture API as well.

Where does this dialogue come from & how to surpress it?

I am running a script that tries to launch a browser (firefox) and load a URL from my home intranet's NAS - in order to close it down. This should run unattended. My first problem was getting the "çertificate not recognised" message from the browser, when I want this to run unattended, so I added an exception. Re-tried and then I got the "User / Password" dialogue. So I found a way to insert the credentials into the URL. That seemed to silence that dialogue, but now I get the following pop up - seemingly from the browser, which remains blank unless I Ok it:
I'm not sure what's generating it. The browser I guess, but it never does this when I access the URL manually. I tried turning off my Avast security in case it came from there. I tried fiddling with Windows (10) security, but still it persists. Any idea how to do this? Here is the .bat line that initiaties it:
run, C:\Program Files\Mozilla Firefox\firefox.exe
https://admin:mypassword#192.168.1.10/get_handler?PAGE=System&OUTER_TAB=tab_shutdown&INNER_TAB=NONE&shutdown_option1=1&command=poweroff&OPERATION=set
It might help to know the NAS responds to http, switching it to https, with it's own local certificate. Anyone any ideas on how to circumvent this? Thank you.
I confirmed that the dialog is indeed coming from Firefox, using Window Spy to click on it when it appeared. No idea why it should happen in response to a script and not to a live operator though: it does rather present the script with the sort of issues documented here.
After trying all sorts of techniques to try to either surpress it or Ok it, I found that nothing native to Windows would do the job. I eventually solved the problem by writing a script for Autohotkey, making an executable out of it for convenience, and calling that from my close down .bat file.

How do you debug Share Picker extensions?

I have registered my Phone 7 app as a Share Picker Extension. It works—my app is in the list of Share options and it gets launched and I can load the chosen image. Okay, great.
But then things go wrong in my code. I would like to be able to debug the issues, but I can't seem to keep the debugger attached.
I cannot debug this in the simulator, since the Pictures app (and thus the Share Picker functionality) is not present in the simulator.
I cannot debug this on the phone because as soon as I pick my app from the Share list, the debugger detaches... right as my app is "launching" again.
Is it possible to attach the debugger to a running WP7 app? Is it possible to keep the debugger attached? Am I doing it wrong? Any suggestions, advice or guesses are welcome because I'm tearing my hair out.
When doing M+V hub integration (sorry, haven't done any pictures hub integration yet) I initially used a crude debug technique (Messagebox.Show, etc. - like Justin mentioned) to verify what was being passed to the NavigationEventArgs of OnNavigatedTo and wrapped the whole method in a try..catch block to learn what was going on. I then refactored the code when I knew what could be expected. (Remember OnNavigatedTo will be called when your app is launched normally too and so e won't be populated in the same way.)
When the app is launched from a/the hub it creates a new instance of the app and there is currently no way to connect to this for debugging while the main page is being navigated to.
Great question. I'm unsure if that's possible. As far as I know, there's no way to attach the debugger to when the WP7 O/S starts an app (which wasn't triggered by the debugger).
Photo Share picker extensibility, music+Video hub extensibility and other O/S extensibility points seem to not play nicely with the VS debugger. Normally I resort to MessageBox.Show to debug any problems with WP7 O/S integration.
1) Connect the Device
2) Turn off Zune
3) Start C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Tools\WPConnect\x86\WPConnect.exe
To properly debug your application that uses the Media Library, you'll need to use the Windows Phone Connect Tool (WPConnect.exe) as described on MSDN. Jaime has some additional tips on his blog.
Once you are connected, you should be able to debug your application. Fingers crossed anyway. If that doesn't help, I'll dig a bit further.
It's not so much about the WPConnect tool. The nature of your application means that you have to have it closed and the user should pick a photo. Only after that the data is returned to the application.
You should read about the application execution model on Windows Phone 7. Also a good explanation is available here.
Initially, I would say that you should look at tombstoning (a good explanation here) but then again, the image returned will re-start the app and won't allow you to directly attach the debugger.
Yeah, looks like this is impossible...
All the answers above seem to be missing the point: I presume you're able to debug your app in the "standalone" mode (when it's launched normally), but not when it's launched via the Share Picker Extension. Am I write? This is the wall I'm hitting... :-(
I thought the proper way would be to attach to the process once it's launched.
I tried to use Debug > Attach to Process, then select Smart Device as the Transport and Windows Phone Device as the Qualifier... But in return I get the ugly "Unable to connect to 'Windows Phone Device'. Not implemented" message.
Bummer :-(

How to write a Kiosk application in Windows that has control from startup?

I'm not sure if this is technically a Kiosk, but it's basically the same idea. I have a program that runs full screen all the time from boot to shutdown to control a machine that the computer is hooked to.
Right now I just have a shortcut to the exe in the Startup folder so it starts when the system boots up and logs in. Is there any better way to do this? I'd really like the user to never see the Windows environment (just the windows loading progress bar on boot) if at all possible, but I'm guessing that's not possible.
Just thought I'd ask and see if there is a better way to do this than putting it in the startup folder?
The best option is to use Windows Embedded. This gives you much more control over the shell, and what is run and installed with the system.
If you have to do this with a consumer OS, you can try to bypass the login prompts to auto-login your user, and have your program setup in the registry to startup. Disable any other services you don't need. That will minimize the time the shell is displayed (but it's very difficult to remove it).

RDP connectivity/responsiveness test

I want to write an app to test whether a Windows machine is responding correctly to RDP (Remote Desktop) - i.e. to check if the machine not only allows the connection, but is also responding normally, and is not hung or otherwise responding abnormally.
Is there a library or utility that I can use to do this? My searches turned up full RDC clients, but I'm hoping there's something out there at least offers an API for testing. I would most like to use Java or a scripting language to do this, but I'm open to suggestions.
You can find some good answers in this question: Programmatically create and launch and RDP session (without gui)
Because RDP is a constantly evolving proprietary protocol, i'm guessing there isn't some simple open-source code you can take and use. This leaves us with two possible paths to follow:
Use Microsoft RDP ActiveX control (on Windows)
Launch mstsc.exe and send keyboard events to it (also on Windows, using your favorite language)
For the second option, I suggest AutoHotkey. It is perfect for automating windows programs and comes with a powerful library. It also has a strong comunity behind it so you can find lots of useful scripts on the internet. I use it to control winamp (like 'i hate this song! delete it and move to next')(well, technically 'move to the next song and delete the previous' because you can't delete the file while in use but you get the idea). If you choose this path, i can help you with the script.
Found this on Experts Exchange:
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10, Prompt => '', Port >= 3389);
if($t->open("computer.name.or.ip")) {
print "Connect successful\n";
}
else {
print "Could not connect\n";
}
The idea was to attempt a connection and if it can't connect within 'x' amount of seconds, assume it isn't going to work. Gets a bit more complicated if you're trying to see if a login for a specific user works or not, but this should at least get you started.
NOTE: As pointed out in the comments, the original solution left out the RDP port, so I included that in this...

Resources