<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>w32api examples</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="w32api.examples.html">Examples</a></div> <div class="next" style="text-align: right; float: right;"><a href="ref.w32api.html">W32api Functions</a></div> <div class="up"><a href="w32api.examples.html">Examples</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="w32api.examples-uptime" class="section"> <h2 class="title">w32api examples</h2> <p class="para"> This example gets the amount of time the system has been running and displays it in a message box. </p> <div class="example" id="example-5384"> <p><strong>Example #1 Get the uptime and display it in a message box</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// Define constants needed, taken from<br />// Visual Studio/Tools/Winapi/WIN32API.txt<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">"MB_OK"</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Load the extension in<br /></span><span style="color: #0000BB">dl</span><span style="color: #007700">(</span><span style="color: #DD0000">"php_w32api.dll"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Register the GetTickCount function from kernel32.dll<br /></span><span style="color: #0000BB">w32api_register_function</span><span style="color: #007700">(</span><span style="color: #DD0000">"kernel32.dll"</span><span style="color: #007700">, <br /> </span><span style="color: #DD0000">"GetTickCount"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"long"</span><span style="color: #007700">);<br /> <br /></span><span style="color: #FF8000">// Register the MessageBoxA function from User32.dll<br /></span><span style="color: #0000BB">w32api_register_function</span><span style="color: #007700">(</span><span style="color: #DD0000">"User32.dll"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"MessageBoxA"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"long"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Get uptime information<br /></span><span style="color: #0000BB">$ticks </span><span style="color: #007700">= </span><span style="color: #0000BB">GetTickCount</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// Convert it to a nicely displayable text<br /></span><span style="color: #0000BB">$secs </span><span style="color: #007700">= </span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$ticks </span><span style="color: #007700">/ </span><span style="color: #0000BB">1000</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$mins </span><span style="color: #007700">= </span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$secs </span><span style="color: #007700">/ </span><span style="color: #0000BB">60</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$hours </span><span style="color: #007700">= </span><span style="color: #0000BB">floor</span><span style="color: #007700">(</span><span style="color: #0000BB">$mins </span><span style="color: #007700">/ </span><span style="color: #0000BB">60</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$str </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"You have been using your computer for:" </span><span style="color: #007700">.<br /> </span><span style="color: #DD0000">"\r\n %d Milliseconds, or \r\n %d Seconds" </span><span style="color: #007700">.<br /> </span><span style="color: #DD0000">"or \r\n %d mins or\r\n %d hours %d mins."</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">$ticks</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">$secs</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">$mins</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">$hours</span><span style="color: #007700">,<br /> </span><span style="color: #0000BB">$mins </span><span style="color: #007700">- (</span><span style="color: #0000BB">$hours</span><span style="color: #007700">*</span><span style="color: #0000BB">60</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Display a message box with only an OK button and the uptime text<br /></span><span style="color: #0000BB">MessageBoxA</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">, <br /> </span><span style="color: #0000BB">$str</span><span style="color: #007700">, <br /> </span><span style="color: #DD0000">"Uptime Information"</span><span style="color: #007700">, <br /> </span><span style="color: #0000BB">MB_OK</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="w32api.examples.html">Examples</a></div> <div class="next" style="text-align: right; float: right;"><a href="ref.w32api.html">W32api Functions</a></div> <div class="up"><a href="w32api.examples.html">Examples</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>