Jump to content
  • Advertisement
Sign in to follow this  

Upload system specs

This topic is 2248 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey. I have to create a webpage for my final exam in a subject, and honestly, web programming has never been that interesting to me, so I havent put much dedication into learning php, html or css in my life. This webpage will be an computer-auctioning sort of type. Not very original, but I guess it will get the job done. Generally, my programming skills are at a low level. Now, I was thinking that an automated system specs-fetching program uploaded to the user would make auctioning much easier for some people. I was thinking something like,

  1. The website should let the user download the program,
  2. The user executes this program to fetch system information (Hardware and OS is the only needed information),
  3. The program should then write data for the computer to fetch again.

I am not sure at second step, since I do not know a way to fetch system data with C++. Is there a way, that will allow for a quick program to be made, no GUI necessary? Also, at the third step, I was thinking of writing the information to a text file which could then be uploaded to the site and sorted in the database - user identification would be in the text-file. But maybe a direct connection is possible? I mean, connect to the SQL-database through the program, and then write verything directly to the website. Here, user identification would be required by logging into the program before uploading.

But as mentioned, I am not a very good programmer, and I havent found much on this subject, so maybe someone here could help me? I couldnt find anything about fetching system-specs with php.

Regards,
Boooke

Share this post


Link to post
Share on other sites
Advertisement
There would be always a trust problem, nobody want to download a program which collects 'any' data from your computer to send it to some server (is it my CPU data or my mailing adress book ? )

Btw. steam has an excellent hardware survey available.

Share this post


Link to post
Share on other sites
I forgot to mention that security is nothing to worry about. This is a highschool exam with very little expectations, so except for functionality, nothing should be a problem.

Yes, it would be a problem for a real developer, but I guess Javascript could be used then (Which I wouldn't want to do because I don't know any javascript) - sites like http://www.systemrequirementslab.com/ use JS (I guess) to do exactly what I want.

Share this post


Link to post
Share on other sites
There is another problem that a single C++ program won't run across all Operating systems or architectures. You are either going to have to use javascript anyways to determine which version of your program to download, or you are going to have make the user figure out which version to download. Furthermore, I am fairly certain that there is no standard way to do what you are asking in C++, so this will result in different program code for every platform you choose to have this feature work with. Since this is a high school class, you can probably just assume everybody is on Windows x86 and be ok, but it seems to me like you are trying to do much more than is required for a high school level project.

Share this post


Link to post
Share on other sites
I guess I am, but it would seem half-hearted not to implement this feature somehow. Otherwise it would be a somewhat senseless website to me. I was considering maybe trying to implement JS code for this anyway, but I fear my understanding of the code would be a bit fragile - if I even find any way to do this. I doubt it will be any problem for the examination, but it would just feel wrong.

Also, consumer-opinions are also not necessary in this project. In fact, this project require no consumer, considerations are of course welcome, but I doubt they will rate your project for not "caring" about possible consumers.

Share this post


Link to post
Share on other sites
You cant really do this in standard C++ alone.

On Windows you can get various bits of information from various places. http://msdn.microsoft.com/en-us/library/windows/desktop/aa394582%28v=vs.85%29.aspx (Windows Management Intrumentation) seems a good place to start, espically these http://msdn.microsoft.com/en-us/library/windows/desktop/aa389273%28v=vs.85%29.aspx (Computer System Hardware Classes). Theres also some stuff at http://msdn.microsoft.com/en-us/library/ms724953.aspx (Sytem Information Functions). Theres also various other parts of the Windows API that may be of use if you search around.

In addition to those Direct3D and DXGI can tell you a number of things (guess the WMI stuff might say a lot of the same stuff, but in a game devlopment context Ive personally tended to have a Direct3D object floating around to use anyway).

A lot of CPU information (not frequency / voltages / temps etc, not sure where you get those from) can be found with the CPUID instruction. MSVC has two instrinsics for that (http://msdn.microsoft.com/en-us/library/hskdteyh.aspx) so you do not have to use assembly.

No idea about where to find out about RAM apart from simple metrics like avaialbe / used / page file size / etc.

No idea how to find out about the motherboard, USB, sound cards etc.

JavaScript doesnt have access to a lot of this information. Given the Windows Installer popup, I assume http://www.systemrequirementslab.com/ downloads some software capable of interfacing with the native API's (either native xcode itself, e.g. C++, or sotmhing capable of Native calls, e.g. .NET or Java).

Share this post


Link to post
Share on other sites

There would be always a trust problem, nobody want to download a program which collects 'any' data from your computer to send it to some server (is it my CPU data or my mailing adress book ? )

Btw. steam has an excellent hardware survey available.


Unfortunately I recently discovered in the processes view of task manager that Steam does a lot of activity on my machine (I/O) and is scanning everything. No wonder they show in their surveys what software the users are using. So I keep it off when I'm not playing, it is as worst as the Origin one.

Share this post


Link to post
Share on other sites

[quote name='Ashaman73' timestamp='1332411636' post='4924255']
There would be always a trust problem, nobody want to download a program which collects 'any' data from your computer to send it to some server (is it my CPU data or my mailing adress book ? )

Btw. steam has an excellent hardware survey available.


Unfortunately I recently discovered in the processes view of task manager that Steam does a lot of activity on my machine (I/O) and is scanning everything. No wonder they show in their surveys what software the users are using. So I keep it off when I'm not playing, it is as worst as the Origin one.
[/quote]

Except that the steam survery is opt-in, and if your picked to take part it doesnt do anything until after you have gone through the little dialogue thing and accepted it. Perhaps you got a virus in your steam?

Share this post


Link to post
Share on other sites

You cant really do this in standard C++ alone.

On Windows you can get various bits of information from various places. http://msdn.microsof...v=vs.85%29.aspx (Windows Management Intrumentation) seems a good place to start, espically these http://msdn.microsof...v=vs.85%29.aspx (Computer System Hardware Classes). Theres also some stuff at http://msdn.microsof...y/ms724953.aspx (Sytem Information Functions). Theres also various other parts of the Windows API that may be of use if you search around.

In addition to those Direct3D and DXGI can tell you a number of things (guess the WMI stuff might say a lot of the same stuff, but in a game devlopment context Ive personally tended to have a Direct3D object floating around to use anyway).

A lot of CPU information (not frequency / voltages / temps etc, not sure where you get those from) can be found with the CPUID instruction. MSVC has two instrinsics for that (http://msdn.microsof...y/hskdteyh.aspx) so you do not have to use assembly.

No idea about where to find out about RAM apart from simple metrics like avaialbe / used / page file size / etc.

No idea how to find out about the motherboard, USB, sound cards etc.

JavaScript doesnt have access to a lot of this information. Given the Windows Installer popup, I assume http://www.systemrequirementslab.com/ downloads some software capable of interfacing with the native API's (either native xcode itself, e.g. C++, or sotmhing capable of Native calls, e.g. .NET or Java).


Thank you for the information! I am looking it through. I am not sure if I understand much, but maybe I will sooner or later. Worst case scenario, I guess I could just ask the user to make a dxdiag and then let the program analyze it. Or just make the user enter the system information on the website and not care about "automation".

Share this post


Link to post
Share on other sites
There is a couple of samples in the DirectX SDK for using the DXDiag API's. In Samples\C++\Misc\ DxDiagOutput looks like the simlest example, it just walks the output tree and prints it to console. Would likly be easier than processing the output text, unless you want to avoid a desktop program entirlyly, and just provided a dxdiag txt upload form on the website (and process it server side or in JS).

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!