win7旗舰版在桌面空白处点击鼠标右键,就变成了圆圈了,一直处于等待的状态!

电脑正常开机后,在桌面空白处单击右键箭头直接变成圆圈了,起初我以为是等待反应而已没在意,后来等了大概半个小时还是没好,点任务栏上的东西也不行,强行关机再开上边问题依旧,360系统修复也试过了不管用,但是鼠标的左键功能完好,各种操作都没有问题,右键只要放到任务栏,程序图标上功能都没问题,就是一点桌面空白就出故障。

开始——运行:regedit,HKEY_CLASSES_ROOT/Directory/Background/shellex/ContextMenuHandlers
下面一般只有两个Key:一个是 New ,这个对应的是右键菜单的新建项,另外一个是NvCplDesktopContext(我的只有这两个),这个就是右键迟钝的原因,留下New,其他删除其余的一个即可。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,你的问题是如何用C++实现沿正弦曲线移动的圆圈并实现鼠标交互控制? 首先,我们需要一个正弦曲线的方程,可以使用sin函数来实现。 然后,我们需要一个圆的方程,可以使用圆的标准方程:(x-a)^2+(y-b)^2=r^2,其中(a,b)表示圆心坐标,r表示圆的半径。 接下来,我们需要定义圆的移动规则。圆可以沿着正弦曲线移动,当到达正弦曲线的尾部时,可以自动往回移动,半径可以由大变小。我们可以使用一个参数t来表示圆在正弦曲线上的位置,不断增加或减少t来实现圆的移动。同时,我们可以使用一个参数r来表示圆的半径,随着时间的推移r可以逐渐变小。 最后,我们需要实现鼠标交互控制。当用户点击鼠标左键时,圆停止移动;再次点击左键时,圆继续按照上一次的方向移动。当用户点击鼠标右键时,圆可以向反方向移动。 以下是可能的实现代码: ```c++ #include <iostream> #include <cmath> #include <Windows.h> #include <conio.h> using namespace std; const int width = 80; const int height = 25; const double pi = acos(-1.0); void setCursorPosition(int x, int y) { HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos = { x, y }; SetConsoleCursorPosition(hOut, pos); } void drawCircle(double x, double y, double r) { for (double theta = 0; theta <= 2 * pi; theta += 0.01) { int px = int(x + r * cos(theta)); int py = int(y + r * sin(theta)); setCursorPosition(px, py); cout << "*"; } } int main() { double t = 0; double r = 10; double x, y; bool stop = false; bool reverse = false; while (true) { if (!_kbhit()) { if (!stop) { if (!reverse) { t += 0.01; if (t > 2 * pi) { reverse = true; } } else { t -= 0.01; if (t < 0) { reverse = false; r -= 1; if (r < 1) { r = 10; } } } x = t * width / (2 * pi); y = (1 + sin(t)) * height / 2; setCursorPosition(int(x), int(y)); drawCircle(x, y, r); Sleep(10); } } else { int key = _getch(); if (key == 27) { break; } else if (key == 32) { stop = !stop; } else if (key == 77) { reverse = false; } else if (key == 75) { reverse = true; } } } return 0; } ``` 说明: 该代码使用了Windows API中的函数来实现控制台下的图形输出和鼠标交互控制。 函数setCursorPosition用于设置控制台光标位置,函数drawCircle用于画圆。 变量t表示圆在正弦曲线上的位置,变量r表示圆的半径,变量x和y表示圆的坐标。 变量stop表示圆的移动状态,变量reverse表示圆的移动方向。 按下ESC键退出程序,按下空格键暂停或继续圆的移动,按下右箭头键改变圆的移动方向为正向,按下左箭头键改变圆的移动方向为反向。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值