MFC Ftp client in WinCE 5.0, afxinet not declare CFtpConnection function - mfc

Before use afxinet.h(CInternetSession,CFtpConnection) to
develope ftp client on wince, I use the CSocket to develope the
ftp client, for now I decide to use afxinet.h(CInternetSession,CFtpConnection),
in the pc site the CFtpConnection is be declare in afxinet.h,
but in the wince 5.0 the afxinet.h not support CFtpConnection,
why? Would you give me some advice please
.
Otherwise, Can some one give me a CSocket example for WinCE 5.0 FTP Client
pc side ftp client soft
wince side ftp client soft

Lots of functions / classes were removed from Windows CE SDK because of memory requirements on this platform. Back when Windows CE 5.0 was designed, devices were produced with 64MB or fewer. From wiki (http://en.wikipedia.org/wiki/Windows_CE_5.0) you can read:
Memory footprint: The minimum footprint of Windows CE is 350 kilobytes.
You can still try porting MFC classes from desktop version to Windows CE, if you own Visual Studio 2005 license then in you compiler folders you will find full source code to CFtpConnection, I actually never used it but like most such classes in MFC it looks like thin wrapper around Win API functions. On my PC, files you are interested in are located here:
C:\Program Files (x86)\Microsoft Visual Studio 8\VC\atlmfc\include\afxinet.h
C:\Program Files (x86)\Microsoft Visual Studio 8\VC\atlmfc\src\mfc\inet.cpp
as you will see, CFtpConnection makes calls like: FtpDeleteFile, FtpRenameFile, FtpCreateDirectory, FtpRemoveDirectory, FtpPutFile, ... which according to MSDN:
http://msdn.microsoft.com/en-us/library/aa452208.aspx
are available on Windows CE since version 2.12, so my suggestion is to either copy/pase those classes from desktop mfc sources, or code everything using Win API.

Related

Missing some standard library header files in Visual Studio 2015 on Windows 10

I am really rusty when it comes to writing code on Windows. From what I know for 2015 there was a change in the way even the standard library is shipped (UCRT in particular).
So now I am standing in front of a Visual Studio 2015 project targeting Windows 8.1 SDK with build toolset v140 that doesn't compile due to a library (part of the project) not being able to find sstream, memory, excpt. I even checked excpt and the error comes from Windows.h.
I also have Visual Studio 2017. I went on using the installer to install Windows SDK. The problem is there are many versions of it...
Currently I have (quoting 1:1 what Visual Studio 2017 installer is giving me):
VC++ 2015.3 v14.00 (v140) toolset
VC++ 2017 version 15.9 v14.16 latest v141 tools
Windows Universal CRT SDK
Visual C++ ATL for x86 and x64
Visual C++ MFL for x86 and x64
Windows 10 SDK (10.0.10240.0)
Windows 10 SDK (10.0.10586.0)
Windows 10 SDK (10.0.14393.0)
Windows 10 SDK (10.0.15063.0) for Desktop C++ [x86 and x64]
Windows 10 SDK (10.0.15063.0) for UWP: C#, VB, JS
Windows 10 SDK (10.0.15063.0) for UWP: C++
Windows 10 SDK (10.0.16299.0) for Desktop C++ [x86 and x64]
Windows 10 SDK (10.0.16299.0) for UWP: C#, VB, JS
Windows 10 SDK (10.0.16299.0) for UWP: C++
Windows 10 SDK (10.0.17134.0)
Windows 10 SDK (10.0.17763.0)
Windows 8.1 SDK
Windows Universal C Runtime
I'm assuming Windows 8.0 SDK is not listed, since it's an essential component that gets shipped with Windows 10 upon installing the OS.
When looking for memory.h it appears that it's only in the ucrt subdirectory of each Windows 10 SDK (e.g. C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt\memory.h.
I come from Linux where in all honesty things appear to be simpler when it comes to setting up a development environment (I can only imagine what it is to develop cross-platform on Windows -_-) so I am probably missing something rather obvious here.
Can I mix includes from different SDKs? (here: Windows 10 and 8.1 SDK) Upgrade is currently not an option. If that's not possible how do I deal with the situation?
You're coming from Linux, where things are mixed up. Windows is actually a lot cleaner.
The Windows OS headers come from the SDK.
The language headers come from the language implementation
C++ has headers such as <memory> (note the lack of .h). These will come from Visual Studio. This is not the same header as memory.h. Similarly, <sstream> is another C++ and therefore Visual Studio header.
The UCRT is a bit of a special case - it's a Universal C RunTime. C as a language is stable (which is a nice way to say there's not much improvement anymore). Windows ships a fairly decent chunk of the C standard library in the UCRT. Since C++ includes the C Standard Library in its own, Visual Studio can build on top of the UCRT.
Another major difference is that the Windows SDK's are SDK's for a particular Windows version and many preceding versions. There's no need to use the Windows 8.1 SDK; everything in there is also in all the Windows 10 SDK's. Also, the Windows SDK's are not tied to Windows itself. You can develop for Windows 10 using the Windows 10 SDK on Windows 8. There would never be a reason to mix two SDK's.

Visual Studio for Windows Media Foundation

I am going to build sample application using Windows Media Function, but I am confused with Visual Studio version that need to be used. Also how I can start with this sample application. Do I need to download Windows Developer SDK for building this sample? Also what tools I need to use to build UI components.
I want to build sample application for playing local video file.
To develop classic/desktop applications using Media Foundation API it is sufficient to use simplest edition of Visual Studio, e.g. Visual Studio 2015 Community Edition along with Windows 10 SDK (do not get confused by "Windows 10" in the title, appropriately built applications can run in Windows XP and more recent). You will have to look up desktop application samples in older Windows SDK versions up to version 7.1, since version 8 they were omitted (later they were put online here). At the same time, there are also newer Media Foundation samples available in the format of Windows 10 UWP applications, you can built them with the mentioned toolset as well.

Creating Winforms in Visual C++ for WinCE7 in Visual studio 2008 with WinCE7 platform builder

I did a User interface in Windows 7. It contains buttons, labels, tabs and almost all features available in VS2008 tool box.
The UI coding is done in Visual C++.
Now I want to port the same UI in WinCE7. I started the work by upgrading VS2008 Sp1 and Platform builder for WinCE7.
Now I took a new project->Visual c#->Smart Device->Device Application and started the UI.
So I need to make a good amount of changes, also some functions are not available.
So am not able to complete the UI, no tabs selection is found and many others.
So can I get any ideas to port the same UI (created in visual c++) in WinCE7?
How can I create a new UI for WinCE7 in Visual c++ in Visual Studio 2008 ?
It is sooooo not that easy. Windows CE is a small subset of Win32. You have to pull in your code, hit build and then start fixing the errors.
If you used good separation of UI from business logic then it's probably easiest to just start an entirely new UI app for CE and reuse the business bits. If your code it tightly coupled, well you've got a long road ahead. There is no magic bullet for this one.
You are mixing stuff here.
To develop applications for Windows CE 7 you don't need Platform Builder. You need it to build a configure an OS Image or to change a board-support-package (BSP) and debug it, including drivers.
For application development you need just Visual Studio 2008 professional and an SDK, provided by the device manufacturer.
Windows CE APIs are different from Win32 ones and may be seen as a subset of those.
You can create a new Windows CE application (with dialogs etc) using the new project dialog of visual studio 2008, just select the "Smart Device" category to see the templates you can use.
Porting existing code may require modification of C/C++ code (API changes) but also of the .rc file (resources) because Windows CE does not support all the features provided by Win32 resources.

Is it possible to run VC++, Win32 application compiled on Visual Studio 2005 on Windows 8 environment?

I am a C++ Developer and learning developing an application that runs on Windows 8 environment.
My current application is VC++ - Win32 (Non-MFC) application, it is compiled on Visual Studio 2005.
It runs on Windows XP, Windows 7 very well.
My Questions:
Is there any tutorial available freely that help me to make my application run on Windows 8?
Is it strongly required to re-write the code and convert my application to Metro Style Application?
You can run the application on Windows 8 (except Windows RT) as a regular win32 application. We currently compile our windows app with Visual Studio 2005, and it works on Windows 2000 to Windows 8.
If you want to make it a "Windows Store App" with the interface formerly known as Metro, you'll need to rewrite at least the user interface to use the new Metro APIs, and you won't be able to use Visual Studio 2005 for that. If you did that you'd need to make two versions of the app, one for the "Windows store" on windows 8 and one for all previous versions of Windows.
Your application should almost certainly run just fine on Windows 8 if it runs fine on 7 and Vista, provided that any necessary runtime components (e.g. the VS2005 redists) are installed, if they're not already present.
As for rewriting it as Metro style, that really depends, both on the app itself, and whether you think it makes sense for your target market. That question can only be answered by you (and I guess, your users).
For question 1, check MSDN, a lot of material there.
For 2, not required, most of old application can run on Windows 8 without modification. you don't need to convert your application to Metro style
And the reason why your store application needs to be written using Visual Studio 2012 is because for Store apps, only the C++ runtime from VS 2012 is supported. See the below post for more details:
http://blogs.msdn.com/b/vcblog/archive/2012/09/28/10354327.aspx

Deploy a C program compiled in VS2010

I have a compiled an older C++ program that runs fine in debug mode in VS2010 converted to VC++ 6 but I have no idea how to package or deploy the application.
VS2010 may not have anything to do with deploying the program at all but I thought I should mention it.
The "release" folder not only contains the executable but some "obj", "tlog", "vc100.pdb", "exe.intermediate.manifest" and "lastbuildstate".
This application is being installed on Windows Mobile OS (hopefully). It isn't as simple as copying the executable to the device is it?
Do I need to create a cab file or msi and, if so, how?
I am absolutely new at this being spoiled in C# and MVC for far too long!
Visual Studio 2010 does not have any of the Smart Device compilers (managed or native) required to even build for Windows Mobile (not Windows Phone). You must use Visual Studio 2008 to build, deploy and/or debug.
EDIT
FWIW, Studio 2012 will have support for Smart Devices (Studio 2010 still won't get support) in Q1 of next year. Backward-compatibility has yet to be announced, but it's always possible that you'll be able to develop for WinMo devices using the ARM compiler. There's a video here detailng some of the features.
Have you done a search on google yet? While I don't know anything about deploying to a windows phone, a quick google search found a few hits.
I searched for 'deploy windows phone app' and found a few things. Among which are:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/gg588378(v=vs.92).aspx
http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff928362(v=vs.92).aspx
Last of all, it looks like this has been asked before on this website. For instance:
Can you install you own apps on your windows 7 phone