It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 13 years ago.
I'm trying to make the case for upgrading my development machine to Windows 7 - I'm currently on Windows XP 32bit.
I've already identified the fact that moving to a 64bit OS should help performance by allowing me to max out the amount of RAM in my system.
But what other features new to Windows 7 are a boon to software developers?
On modern hardware, it is faster than both XP and Vista in just about every task -- booting, copying, launching programs. It also uses multicore CPUs more efficiently than XP.
I've also found that the search feature on the new Start menu saves a ton of time that I usually spent looking for files in XP.
As far as actual development goes, I know Eclipse has a native 64-bit version. Visual Studio doesn't have one though. In any case, 32 vs. 64 bit probably won't have any noticeable performance differences when you're using your IDE.
64bit will only really help you if you go beyond 4GB mark.
I don't know what you development platform is, but it would be probably fair to say that all new platforms will be thoroughly tested on Windows 7.
Also, you may want to read this article if you are interested in what Windows 7 gives you as a developer:
http://sdtimes.com/link/33856
It's my impression that many IT departments eschewed upgrading to Vista because of compatibility worries but will probably embrace Win7. That said it would behoove a programming shoppe to develop for Win7 simply because that market segment will grow. It's still early but i doubt Redmond would produce two stinkers in a row... Well, Win98 and Me were quite the tandem...
I've found the new Explorer and start menu search quite useful (most of this was already in Vista)
Also, it will encourage you to take advantage of Windows 7's new taskbar features in your programs.
Related
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
Is there a way to determine what software tool was used to create a specific exe file? For example I'd like to find out if Delphi or Visual Studio or [Fill in the Blank] was used to create a program.
UPDATE:
I'm using a program called FoxtrotOne from www.enablesoft.com that uses a script and a datafile. The program acts just like a person sitting at the keyboard doing data updates. I've been continually monitoring the task manager and the FoxtroneOne.exe and the memory continues to climb as it loops through the dataset.
I've been told by the tech support guy to close IE after every 100 records because it's holding onto memory. My script interacts with a web application.
I'm convinced that there is a memory leak within FoxtrotOne. If I could determine what IDE they used I could suggest what low level tool they should use. For example if Delphi created this exe then I would suggest they install madExcept to check for memory leaks.
FINAL UPDATE:
I used Exeinfo PE to detrmine FoxtrotOne was created with Visual Basic 5.0 - 6.0
Open the EXE in a hex editor (such as HxD), and you might get a lot of clues. For instance, if you find a lot of VCL-related strings like TLabel, TForm, etc., it is probably an Embarcadero tool.
You might also open the EXE in a resource editor (such as XN Resource Editor) to get more clues:
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
A question I've been given to study with is this:
Q: Should an operating system include common applications such as web browsers and mail programs or not?
The answer I was given to this question is: Pros: better performance and integration if it is included as part of the OS. Cons: The OS is burdened with additional functionality.
I am clearly lacking understanding of something here, because I don't see what the difference would be. In the end, I don't see what the difference is between making a browser "part of the operating system", or making is separate. I suppose I don't really understand what it means to be "part of the operating system". I don't understand why an OS would be burdened more in one situation that the other.
Any help would be greatly appreciated.
Thanks
If an application is included in an OS it
is convenient for the average user who doesn't have to choose and install software
is sometimes inconvenient to remove (like system apps in some mobile OS which you can't unistall easily)
can be tightly coupled with other application that are included (like browser + pdf viewer or media player) that wouldn't necessarily be available on other systems, increasing its functionality
probably doesn't need to support other OS and development is concentrated on integration with the OS it is bundled with
takes up disc/disk space - which was more a problem when OS used to be delivered on floppy disks or CDs and hard disk space was expensive
The main reason to include software probably is to tie the customers to the product. The application maybe is developed by the OS manufacturer or they got paid to include it. There have been lawsuits because of this, which resulted for example in the Windows N editions (without the windows media player) or the web browser choice screen in european versions of the Internet Explorer.
I'm not sure this is the correct stackexchange for this question, perhaps http://programmers.stackexchange.com
First off, what makes up an "Operating System" is a little bit nebulous, one might argue that the Browser is not "part of" the OS, but merely bundled with it.
For the purposes of this question, I think part of the operating system means it comes out of the box with that app installed (regardless of whether the app is "part of the operating system" in a deeper sense).
The automatic update mechanism, for example, might treat the app as seperate and update it separate from the OS, or even allow it to be uninstalled from the system, but that doesn't change the fact that the machine came with that app.
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I ask this question because I probably could research it within a few weeks, but I'm hoping there's someone here who's a lot more knowledgeable and could give me direction.
My question stems from a several year challenge in trying to make a remoting desktop software (just for fun). At first I sent simple PNGs of the entire desktop. Then I finally into a mirror driver capture (DFMirage mirror driver by DemoForge), which was super fast. But it's definitely not fast enough. I'm trying to implement caching by breaking up images into 16 by 16 tiles such that will be a lot of repeats and I only have to send the hash, but it's generally just kind of laggy and dissapointing.
I also have another recent project that involves API hooking. I'm currently hooking Direct3D in this other project. From C#, this means using a hooking library like EasyHook since C# is a managed language. I was wondering if I could apply this to my remote desktop project.
Question: Would it be possible to, and if possible how could I, hook gdi32.dll to redirect all desktop drawing to my application?
But wait, don't jump to answering just yet, because my question itself might be incorrect.
My ultimate goal, of course, is to transfer the screen efficiently from one computer to the other. Now, VNC and most remote desktop products work by transferring the screen as an image. As pixel data. While this is extremely flexible, it's definitely as slow as you can possibly get.
So my guess is that gdi32.dll draws everything that you see on the desktop. Is this correct? I think I'm wrong because DWM aero seems to use something more 'advanced'. So what does draw everything on the desktop? How are windows drawn?
My idea is, that if I can intercept all drawing functions, then I can go beyond the pixel-level and become like Windows Remote Desktop, where I'm sending drawing commands instead of the actual pixels.
If I'm completely amiss, then how does Remote Desktop "know" how to send these primitive drawing commands? The documentation says that Remote Desktop has a "underlying rendering engine" that can "understand" what's on the screen as these primitive drawing commands, but how can I get that too?
I'm looking for an answer that can give me a larger perspective on Windows internals at this graphical level and a direction on how to accomplish my goal (if it's even realistic).
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 12 years ago.
I am interested in how Windows API has changed in the last 10 years since Windows 98 and Windows 2000? What interesting API calls have been added that you know? Also do people still write anything in API?
I am now learning everything I can about Windows programming and I am really curious about this. Because books don't explain everything, they just explain small subset of all API. And I want to know about the most modern things in Windows API.
So, my general question is where I can find a detailed WinAPI diff report for 98, 200, Xp, Vista and 7 versions?
There has been considerable change in the Win32 API in the past ten years. This link gives you API changes between XP & Vista and Vista & Windows 7. It's a large list.
All applications on Windows use the API, either directly (C/C++ calling into the existing Win32 API's and COM objects), or indirectly via a framework like MFC or .NET.
The real answer is that the core logic is unchanged. You can take a non-trivial Windows 1.0 source code and compile it for Windows 7 with minimal changes. You still have all the same basic building blocks:
window class creation;
window creation;
message loop;
window procedure;
resources for dialogs and menus;
windows styles;
many more
It is true that a lot of new APIs have been added, but the most common are still there. You do the same things in the same way.
One good way of finding out about some new APIs and why and how they were written can be to read the blogs of various Microsoft developers that is/has worked on Windows or related systems. Some examples:
Mark Russinovich- http://blogs.technet.com/b/markrussinovich/
Raymond Chen - Link
Larry Osterman - Link
There's still people writing pure Win32 applications, but maybe not that many since most applications don't need to be written at that level and can usually be written faster in a higher level. Many .Net applications etc will still call straight into various Windows API methods however when the .Net framework does contain the functionality they need.
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
Before I go ahead and invest time checking out RealBasic (now Xojo), I'd like some feedback from people who have moved on from VBCLassic and use the Windows version of RealBasic to write professional business applications.
Is the language good enough, are there enough third-party add-on's to solve the inevitable shortcomings, etc.?
Thank you.
I was never a big VB6 developer, but I have used VB.NET quite a bit. REALbasic is a great substitute for creating desktop applications, but there are some things it cannot do, such as create DLLs or COM objects.
The REALbasic language is significantly more robust than VB6: it's fully object-oriented, has introspection/reflection and even has some dynamic capabilities. The IDE is a lot nicer than the VB6 IDE. But VB6 is 10 years old now and REALbasic is updated regularly, so it ought to be better.
There is a weakness in the 3rd party control market. You won't find anything as good as the grid controls available to VB6, for example. Reporting has been a weak area until recently. REALbasic itself now includes reporting capabilities and there are several 3rd party reporting tools available.
I've created quite a few professional business apps for Windows using REALbasic, but I do all my development on Mac OS X and use VMware Fusion and REALbasic's remote debugger to test and debug on Windows XP/Vista/7.
Update: As of 2013, REALbasic is now known as Xojo (the language is the same, though).
The answer to your question is YES. RB is Great for Desktop Apps. YES there are a bunch of third party add in, however, you don't really need them. You can do everything you want in RB. If you do want to benefit from 3rd Party products (why reinvent the wheel), there are plenty, and the support group is awesome.
REALbasic is free on linux. Install a dual boot system on your PC. Ubuntu would be a good bet here.